我有一个csv文件,我要使用unix sed命令从其中删除第二行。
file.csv表示如下
a
b
c
d
因此它成为newfile.csv
a
c
d
根据我对解决方案的搜索,最简单的方法似乎是使用以下sed命令;
sed '2d' file.csv > newfile.csv
但是,newfile.csv包含已删除的行
d
,而不是预期的
a
c
d
我在macOS Mojave上使用iTerm2
答案 0 :(得分:1)
在这些情况下,awk也是有用的:
$ awk 'NR != 2' file.csv
a
c
d
除了数字2,awk还会打印每行。
如果更容易理解:
$ cat file.csv | awk 'NR != 2'
a
c
d
答案 1 :(得分:0)
可能是文件格式错误,请尝试以下操作:
dos2unix file.csv
然后选择其中之一
sed '2d' file.csv
awk 'NR!=2' file.csv