File1 +(File2 - first line)> File3

And*_*ell 5 unix sed cat

我有两个csv/text文件,我想加入.两者都包含相同的第一行.我试图弄清楚如何使用sed和cat来生成合并文件,但只有第一行的一个副本.而且我有时间使用语法.任何帮助将不胜感激:-D!谢谢,安德鲁

Lev*_*von 4

这将合并文件data1.txtdata2.txt文件merged.txt,跳过第一行data2.txt。如果你同意的话,它会使用 awk:

(cat data1.txt; awk 'NR>1' data2.txt) > merged.txt
Run Code Online (Sandbox Code Playgroud)

awk 将行号 > 1 的所有行从 filedata2.txt追加到 file merged.txt

NR是一个内置的 awk 变量,代表正在处理的文件的当前行号。如果布尔表达式NR > 1为 true,awk 会隐式打印该行。

如果您不关心保持data1.txt完整,您可以只附加第二个文件(减去第一行)并减少到这样:

awk 'NR>1' data2.txt >> data1.txt
Run Code Online (Sandbox Code Playgroud)

  • 或者,您可以使用 `tail -n +2` 而不是 `awk 'NR > 1'`。 (2认同)