我想删除文本文件的第二行。使用vim
或ex
任何类型的文本编辑器表单脚本。
我已经提出了这些命令但对我不起作用。
#!/bin/sh
iconv -f Utf-16le -t utf-8 ~/Desktop/upload.csv -o ~/Desktop/finalutf.csv
vim ':2d|wq' ~/Desktop/finalutf.csv
ex -sc '%s/\r//e|x' ~/Desktop/finalutf.csv
脚本.sh
是可执行的。第一行代码工作,第三行也是第二行,但不是第二行。我试图查看用于删除特定行的vim命令的文档,并在终端上尝试了它并且它可以工作(:2d
)
试图在脚本中使用它似乎令人困惑。我是Ubuntu以及vim和脚本的新手,尝试学习似乎已经足够困难,因为很多复杂的命令解释得很远,对于初学者来说,在文档中学习vim。
答案 0 :(得分:5)
这是为sed
构建的那种东西。
sed -i 2d ~/Desktop/finalutf.csv
但是,如果你必须使用vim,你可以
vim -c "2d|wq" ~/Desktop/finalutf.csv
答案 1 :(得分:3)
这对我有用:
vim -c "2d|wq" infile