1)假设需要修改的文件放在/tmp/test1目录下,然后新建一个目录,如/tmp/test2目录,这个目录用来存放修改后的文件。
2)在/tmp/test1目录下运行命令:
ls -1 * | awk '{print "sed 's/^M//g' "$1" >/tmp/test2/"$1}' > sed.sh
其中^M的输入是用Ctrl + v,然后Ctrl + m生成的。
生成的脚本文件如下所示:
sed s/^M//g test.txt >/tmp/test2/test.txt
sed s/^M//g test1.txt >/tmp/test2/test1.txt
sed s/^M//g test2.txt >/tmp/test2/test2.txt
./sed.sh
就会在/tmp/test2目录下生成去掉控制字符^M后的文件。
一些其他的方法可以参考以下的文章:
1)用sed批量替换文件中的字符
2)批量修改文件
3)sed的in-place edit选项,和RTFM
