我試圖找到一種方法來用標籤空格\t
替換逗號,
,或者實際上它也可以是單個空格。我想用BASH來做這個,我想知道Vim可以完成這樣的任務嗎?用許多文件中的標籤空格替換逗號
我知道我能爲一個文件,做到這一點通過命令行手動或:
vi [file] -c :%s/\,/\t/g
有沒有可能做到這一點上的文件,如一個循環:
for i in *; do [vi command here]; done
感謝您的幫助
我試圖找到一種方法來用標籤空格\t
替換逗號,
,或者實際上它也可以是單個空格。我想用BASH來做這個,我想知道Vim可以完成這樣的任務嗎?用許多文件中的標籤空格替換逗號
我知道我能爲一個文件,做到這一點通過命令行手動或:
vi [file] -c :%s/\,/\t/g
有沒有可能做到這一點上的文件,如一個循環:
for i in *; do [vi command here]; done
感謝您的幫助
不完全是六,但我認爲更合適
for f in * ; do sed -i -e 's/,/\t/g' $f ; done
對於vi也是如此(就像你的例子)。但更短的方法是
sed -i -e 's/,/\t/g' *
是,VIM就可以這樣做非常好。一個技巧是將其作爲ex
而不是vim
來啓動它。這是同一個程序,ex
只是vim
的鏈接,但是當它作爲ex
啓動時,它會在CLI中而不是在屏幕模式下啓動。
so ross$ for i in /tmp/f?; do
> ex $i << \eof
> g-,-s// /g
> x
> eof
> done
我真的需要考慮使用'ex'作爲'vim'。當我搜索''用命令行運行多個命令與vim'時,'ex'出現了。感謝您堅持使用vim的答案+1 – Amit 2011-04-12 20:57:17
vi命令的問題在於它在運行後輸入文件。所以我不認爲這是適當的命令在循環中使用 – Amit 2011-04-12 20:42:11
如果你們可以想到一個更簡單的方式順便說一句,請讓我知道! – Amit 2011-04-12 20:43:49
你有沒有試過sed? sed「s/\,/ \\ t/g」your_file >> modif_your_file – 2011-04-12 20:44:33