我正在尝试连接两个文件,删除重复的头行并只取最后一行
例如:
文件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
第二个命令是:
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