複数のコマンド出力を単一の出力ファイルに貼り付ける方法

複数のコマンド出力を単一の出力ファイルに貼り付ける方法

txtファイルがあり、最初の段落を最後の段落に置き換える必要があります。私は今、新しいtxtファイルにすべてを貼り付ける方法がわかりません。

これは私の命令です。

tail -14 gl.txt ; head -n 74 gl.txt | tail -n 68 ; head -5 gl.txt

このように試してみたい>

tail -14 gl.txt ; head -n 74 gl.txt | tail -n 68 ; head -5 gl.txt > gl_ok.txt

しかし、最後の段落だけが必要です。

どうすればいいですか?

ベストアンサー1

コマンドをグループ{ ...; }化し、最後の出力をファイルにリダイレクトしてみてください。

{ tail -14 gl.txt ; head -n 74 gl.txt | tail -n 68 ; head -5 gl.txt; } > gl_ok.txt

閉じ括弧の前の最後のセミコロンは必須です。それ以外の場合は、次のようにグループコマンドを改行で終了できます。

{ tail -14 gl.txt ; head -n 74 gl.txt | tail -n 68 ; head -5 gl.txt
} > gl_ok.txt

シェルがbashの場合は、次を参照してください。男乱交「複合コマンド」から:

{list; }
listは現在のシェル環境でのみ実行されます。リストは改行またはセミコロンで終わる必要があります。これは…グループコマンド

サブシェルを使用したコマンドのグループ化を参照してください( ... )(...) >output

おすすめ記事