2012-10-01 37 views
1

我想刪除文本文件的第二行。使用vimex任何類型的文本編輯器表單腳本。 我已經想出了這些命令,但不適合我。如何在腳本中使用vim命令?

#!/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的文檔。

回答

5

這是sed是爲之而建的。

sed -i 2d ~/Desktop/finalutf.csv 

但是,如果必須使用vim,你可以做

vim -c "2d|wq" ~/Desktop/finalutf.csv 
3

這個工作對我來說:

vim -c "2d|wq" infile 
+0

謝謝,對我的作品也是如此。 – tough