Linux

如何將多個命令輸出粘貼到單個輸出文件中

  • March 6, 2021

我有 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

但它只需要最後一段。

我該怎麼做?

嘗試將命令分組並將{ ...; }末尾的輸出重定向到文件:

{ 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

如果您的 shell 是 bash,請參閱“複合命令”下的man bash :

{ 列表; }

list 只是在目前的 shell 環境中執行。list 必須以換行符或分號結束。這稱為組命令

另請參閱使用子外殼對命令進行分組( ... ),您會這樣做(...) >output

引用自:https://unix.stackexchange.com/questions/637898