如何使用sed命令删除几行

我有这个excel表格是通过附加多个(这里是三个)其他Excel表格生成的。

column1,column2,column3 3,4,78 23,56,78 column1,column2,column3 45,23,67 23,98,23 12,34,5 column1,column2,column3 23,67, 23,111,45 

你可以看到这些是3种类似的文件的组合。 现在我想保留第一个标题,并且想要删除其余的来自其他i / p文件的标题的其余部分。 我怎样才能使用sed命令? 谢谢。

你可以做这样的事情,假设标题行是相同的:

 $ sed '2,${/'"$(head -1 joined.csv)"'/d}' joined.csv column1,column2,column3 3,4,78 23,56,78 45,23,67 23,98,23 12,34,5 23,67, 23,111,45 

一个awk单行:

 awk 'NR<2{t=$0}NR<2||t!=$0' file 
 sed ':a $!{N;ba } :b s/^\(.*\n\)\(.*\)\1/\1\2/ tb' YourFile 

将删除与第一个相同的任何行(所以你的标题在这里)