0

次のように、csv の最初の行と最後の 10,000 行を取得しています。

head workrace.csv -n 1
tail workrace.csv -n 10000

出力を 1 つのテキスト ファイルにマージするにはどうすればよいですか? 上記のコマンドを 2 つの別個のテキスト ファイルにパイプして、それらのファイルを連結することができます。中間テキスト ファイルを使用せずにこれを行う方法はありますか?

4

2 に答える 2

3

サブシェルで両方のコマンドを実行できます。

( 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
于 2013-04-07T23:08:23.090 に答える
0

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-08T04:44:37.263 に答える