PHP学会网 php培训网 PHP暑期培训 PHP寒假培训 PHP假期培训 » 操作系统(Windows、Linux) » 用awk和sed实现批量替换文件中的控制字符
本页主题: 用awk和sed实现批量替换文件中的控制字符 打印 | 加为IE收藏 | 收藏主题 | 上一主题 | 下一主题

游子云



该用户目前不在线
级别: 管理员
精华: 3
发帖: 249
威望: 208 点
金钱: 2096 PYMB
贡献值: 0 点
在线时间:39(小时)
注册时间:2005-10-27
最后登录:2008-12-01

用awk和sed实现批量替换文件中的控制字符


有时候会遇到这样一个问题,就是把文件ftp上传到AIX系统以后,发现文件中包含了一些特殊的控制字符,例如最常见的^M。如果文件只是一个两个,那直接用vi打开文件,把文件中的控制字符替换掉就可以了。但如果文件数量很多的话,这样一个个去改就会变得很麻烦。这时候我们可以通过awk和sed实现对多个文件的批量处理,具体步骤如下:

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

3)执行生成的脚本文件:
./sed.sh
就会在/tmp/test2目录下生成去掉控制字符^M后的文件。

PHP培训,网站建设咨询
联系电话: 0571-85980046 ,0571-86704910
联系人:何老师
qq:310172
地址:杭州下沙4号路物美西子阳光星城1座501室
顶端 Posted: 2008-06-10 14:04 | [楼 主]
PHP学会网 php培训网 PHP暑期培训 PHP寒假培训 PHP假期培训 » 操作系统(Windows、Linux)

时:12-02 01:58 Copyright © 2006 phpwhy.com 权
ICP05060669

曳息 -