web-dev-qa-db-ja.com

ターミナルで長すぎる出力を完全に取得してコピーする方法は?

端末では、コマンドの出力が長すぎます。しかし、スクロールバックすると、切り捨てられ、最後の部分のみが表示されます。 Gnome-TerminalとKonsoleにはこの問題があります。 xtermにはそのような問題はありませんが、xtermの出力をコピーすることはできません。

完全な出力を取得するにはどうすればよいですか?

8
user126106

Xfce4-terminalには、表示される行数を増やすオプションがあることを知っています。

enter image description here

Ubuntuの場合Terminal enter image description here

それ以外に、@ Zelda64fanが言ったことがある。

出力をファイルに送信できます:command > file.txt(ここで、commandは実行したいコマンドで、file.txtは保存したいファイルです)、gedit file.txtで表示します。

9
Zelda64fan

Xclipを使用する

cat long.output | xclip -sel clip

インストールされていない場合はできます

Sudo apt-get install xclip
8
razpeitia

出力全体が必要でない場合は、command | lessを介してパイプを使用して出力を減らすことができます。これにより、出力を確認した後にファイルを削除する手間が省けます。

5
lotsoffreetime

Xtermでは、選択時の自動コピーがデフォルトである必要があります。トリプルクリックしてから、マウスの中ボタン(またはエミュレートされた3番目のボタン)を使用して貼り付けます。

同じことが他の端末でも機能するはずですが、手動でコピーして貼り付ける必要があります。

これを行うには多くの方法があります。場合によってはscriptを使用するのが好きです。コマンドラインからコマンドを起動する前にコマンドラインから「スクリプト」と入力して起動し、Ctrl-Dを押して停止します。キャプチャファイル名を指定しない場合、「TypeScript」がデフォルトです。画面に印刷されたものはすべてファイルに取り込む必要があります。

2
belacqua

コンソール出力をファイルに保存します。

  1. teeコマンド

tee command-標準入力から読み取り、標準出力およびファイルに書き込みます。

自動的にファイルを作成し、cmd ps -axのすべての出力を、cmdの実行元と同じフォルダー内のprocesses_infoという名前のファイルに保存します。

user@admin:~$ ps -ax | tee processes_info
  1. scriptコマンド

script command-ターミナルセッションのTypeScriptを作成します。

user@admin:~$ script my_console_output.txt

これにより、my_console_output.txtという名前のファイルが作成され、サブシェルが開かれ、このセッションを通じてすべての情報が記録されます。この後、スクリプトが開始され、コンソール出力が何であれ、ファイルmy_console_output.txtに保存されます。分岐したシェルが終了したときにスクリプトが終了するまで、および終了するまで。 (たとえば、ユーザーがexitと入力したとき、または CTRLD 入力されます。)

user@admin:~$ script -c "ps ax" processes_info.txt
  • スクリプトを開始します。
  • ファイルを作成しますprocesses_info.txt;
  • コンソール出力をファイルに保存します。
  • スクリプトを終了(クローズ)します。

    他の例:

    script -c 'echo "Hello, World!"' hello.txt
    
2
akD