次のように、csv の最初の行と最後の 10,000 行を取得しています。
head workrace.csv -n 1
tail workrace.csv -n 10000
出力を 1 つのテキスト ファイルにマージするにはどうすればよいですか? 上記のコマンドを 2 つの別個のテキスト ファイルにパイプして、それらのファイルを連結することができます。中間テキスト ファイルを使用せずにこれを行う方法はありますか?
次のように、csv の最初の行と最後の 10,000 行を取得しています。
head workrace.csv -n 1
tail workrace.csv -n 10000
出力を 1 つのテキスト ファイルにマージするにはどうすればよいですか? 上記のコマンドを 2 つの別個のテキスト ファイルにパイプして、それらのファイルを連結することができます。中間テキスト ファイルを使用せずにこれを行う方法はありますか?
サブシェルで両方のコマンドを実行できます。
( 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