両方のファイルをリンクし、重複したヘッダー行を削除し、最後の行のみをインポートしようとしています。
たとえば、
ファイル1.txt
head1
data1
data2
tail8
ファイル2.txt
head1
data3
data4
tail9
file3.txtで望む結果:
head1
data1
data2
data3
data4
tail8 or rail9 doesn't matter
まず、重複ヘッダーを削除してみました。
awk '!seen[$0]++' file1.txt file2.txt > file3.txt
2番目のコマンドは次のとおりです。
awk 'NR > 1 { print prev } { prev = $0 }' file3.txt > file4.txt
しかし、結果として、tailはfile4.txtの終わりではなく真ん中にあります。
head1
data1
data2
tail8
data3
data4
どんなアイデアがありますか?事前にありがとう
答え1
なぜ名前はawkですか?これは働きます:
{ sed -e '$d' file1.txt; sed -e '1d' file2.txt; } > file3.txt
答え2
$ awk 'NR==FNR{ if (NR>1) print prev; prev=$0; next } FNR>1' file1 file2
head1
data1
data2
data3
data4
tail9