我有两个文件,看起来像这样:
file1.txt
ID group gender age
a 1 m 55
b 1 f 54
c 2 m 53
... etc
file2.txt
ID group gender age
l 1 m 64
m 2 f 94
n 2 m 93
... etc
所需输出:
ID group gender age
a 1 m 55
b 1 f 54
c 2 m 53
.
l 1 m 64
m 2 f 94
n 2 m 93
.
这意味着头只显示一次。我试过head -n 1 file1.txt > merge.txt; tail -n +2 -q *.txt >> merge.txt
,在我的真实的file1.txt有87394750行和file2.txt有369765446行,它花了很多时间。有什么想法吗?非常感谢!
2条答案
按热度按时间9rnv2umw1#
使用
cat
、重定向和tail
(在 * 进程替换 * 中)的仅bash解决方案可以通过以下方式完成:其中
merged.txt
包含:azpvetkf2#
使用
cp
,然后使用sed
:sed 1d
跳过第一行。要跳过更多行,请使用
sed 1,nd
,其中n是要跳过的总行数。