0
我獲得第一行和最後1萬行的csv如下:在Linux中,如何將兩個控制檯命令的輸出合併到一個文本文件中?
head workrace.csv -n 1
tail workrace.csv -n 10000
如何合併輸出到一個單一的文本文件?我可以將上述命令輸入到兩個單獨的文本文件中,然後連接文件。有沒有辦法做到這一點,而不需要使用中介文本文件?
我獲得第一行和最後1萬行的csv如下:在Linux中,如何將兩個控制檯命令的輸出合併到一個文本文件中?
head workrace.csv -n 1
tail workrace.csv -n 10000
如何合併輸出到一個單一的文本文件?我可以將上述命令輸入到兩個單獨的文本文件中,然後連接文件。有沒有辦法做到這一點,而不需要使用中介文本文件?
您可以運行在一個子shell這兩個命令:
(head workrace.csv -n 1 ; tail workrace.csv -n 10000) > result.txt
,或者您可以使用>>
重定向操作符的內容添加到文件:
head workrace.csv -n 1 > result.txt
tail workrace.csv -n 10000 >> result.txt
沒有提到一些其他的選擇choroba:
F=workrace.c
{ head -n 1 $F; tail -n 10000 $F; } > result.txt # no subshell
awk 'NR==1 || NR>k-1000' k="$(wc -l < $F)" $F > result.txt
exec > result.txt # truncate result.txt and direct output of remaining commands to it
head -n 1 $F
tail -n 10000 $F
您無法將命令傳送到文件。您可以將命令的輸出重定向到文件,也可以將輸出傳送到另一個進程,但不能將輸出傳送到文件。您只能將輸出管道輸送到管道。 (從技術上講,管道是一個文件,但不能將輸出管道輸送到常規文件。) – 2013-04-08 04:45:58