在许多文件中用逗号空格替换逗号

Ami*_*mit 2 vi vim bash edit

我正试图找到一种,用标签空间替换逗号的方法,\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)

谢谢你的帮助

Mic*_*ker 5

不完全是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)


Car*_*rum 5

tr可能比vi这个任务更好的选择:

for i in *
do
   cat $i | tr ',' '\t' > $i.tmp
   mv $i.tmp $i
done
Run Code Online (Sandbox Code Playgroud)