複数のテーブルを結合し、最初の行にヘッダを保持したいと思います。したがって、新しいテーブルに参加するたびに新しいヘッダーは発生しません。これがどのように行われるかを知っている人はいますか?
私は現在以下を使用しています:
find "/dir/folder" name "*.dat" -exec cat {} + >> "/dir/folder/table.txt"
ただし、ヘッダーを削除するために使用できます。
ベストアンサー1
BSD / GNUを使用するsed
:
find "/dir/folder" -name "*.dat" -exec sed -se1d {} + >> "/dir/folder/table.txt"
...すべての入力ファイルを個別に処理し、各ファイルのst行をd
削除するように指示します。1
テーブルヘッダがtable.txtにまだない場合は、まずテーブルヘッダに入れる必要があります。
set -- /dir/folder/*.dat
head -n1 <"$1" >>/dir/folder/table.txt
find ...
すべての一致*.dat
がサブディレクトリにある場合は機能しません。
{ find /dir/folder -name \*.dat -exec \
sh -c 'head -n1 "$0"; kill "$PPID"' {} \;
find /dir/folder -name \*.dat -exec sed -se1d {} +
} >>/dir/folder/table.txt
そうする必要があります。