如何使用sed命令删除几行

时间:2014-09-25 08:35:31

标签: excel bash 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命令执行此操作?感谢。

3 个答案:

答案 0 :(得分:3)

你可以这样做,假设标题行相同:

$ 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

答案 1 :(得分:2)

一个awk单行:

awk 'NR<2{t=$0}NR<2||t!=$0' file

答案 2 :(得分:1)

sed ':a
$!{N;ba
}
:b
s/^\(.*\n\)\(.*\)\1/\1\2/
tb' YourFile

将删除与第一行相同的任何行(因此您的标题在此处)