
ターミナルの出力をファイルにリダイレクトする方法は知っています。たとえば、~/Documents 内のすべてのファイルをリストし、test.txt というファイルに出力したい場合は、次のようにします。
ls ~/Documents > test.txt
質問は、コマンドを実行した後で、出力を test.txt にコピーできるかどうかです。これは、出力をファイルにコピーするかどうかを事前に知る必要がないことを意味します。次のようなことをしたいのです。
ls ~/Documents
それからこれ:
<bash command for copying standard output to test.txt>
どのような助けでも大歓迎です。
答え1
を使用することもできますtee
が、これは厳密には前のコマンドを実行した後ではありません。
ls ~/Documents | tee test.txt
出力は通常どおりコマンド ライン セッションに書き込まれ、test.txt にも書き込まれます。
あるいは、GNU 内で実行している場合はscreen
、スクロールバックバッファ内を移動したり、コピー/貼り付けを行うコマンドがあります。詳細については、このスーパーユーザーの質問。
答え2
Emacsウィンドウでシェルセッションを開始し、コピーして貼り付けるだけで済みます。
(vi内からコマンドを発行して、現在のviバッファに出力を組み立てることもできます)、
またはxtermウィンドウからコピーして貼り付けることもできます。
または、script(1)を使用してシェルセッションを実行し、後でセッション出力を編集することもできます。
または、コマンドをやり直すこともできます。
これが役に立つことを願います、クラウス