我正试图找到一种,用标签空间替换逗号的方法,\t或者实际上它也可以是单个空格.我想用BASH做这个,我想知道Vim可能完成这样的任务吗?
我知道我可以手动或通过命令行为一个文件执行此操作:
vi [file] -c :%s/\,/\t/g
Run Code Online (Sandbox Code Playgroud)
是否可以在文件循环上执行此操作,例如:
for i in *; do [vi command here]; done
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助
不完全是vi,但我认为更合适
for f in * ; do sed -i -e 's/,/\t/g' $f ; done
Run Code Online (Sandbox Code Playgroud)
也适用于vi(如你的样本).但更短的方式是
sed -i -e 's/,/\t/g' *
Run Code Online (Sandbox Code Playgroud)
tr可能比vi这个任务更好的选择:
for i in *
do
cat $i | tr ',' '\t' > $i.tmp
mv $i.tmp $i
done
Run Code Online (Sandbox Code Playgroud)