![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-09-27 08:51 |
共 47,813 主题排行 / 349,918 发帖 / 今日 0 篇 / 48,276 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [讨论]sed批量替换特殊符号 |
| 可打印版本 1,070 / 5 |
| 第1楼 hgx126 | 发表于 2009-03-13 13:43 |
| 初级用户 发帖 80 积分 100 | |
|
[讨论]sed批量替换特殊符号 多个文本文件内容相似,其中一个内容如下:
能否用sed命令将该文件所在目录下的所有文本文件中的”|“替换成逗号? 当然,不sed命令也能将”|“替换成逗号,但是我想的是用sed可能效率要快些,是不是?批处理该如何写呢? |
|
| 第2楼 yishanju | 发表于 2009-03-13 14:01 |
| 银牌会员 发帖 1,357 积分 1,488 | |
|
用FR的话
SED 类似,特殊字符前加\表示自身 fr -ric:"\|" -t:"," 1.txt |
|
| 第3楼 yishanju | 发表于 2009-03-13 14:02 |
| 银牌会员 发帖 1,357 积分 1,488 | |
|
这样也可以
fr -f:"|" -t:"," 1.txt |
|
| 第4楼 hgx126 | 发表于 2009-03-14 01:38 |
| 初级用户 发帖 80 积分 100 | |
|
要求将多个文件批量替换,而不是只替换一个文件?
|
|
| 第5楼 yishanju | 发表于 2009-03-14 12:06 |
| 银牌会员 发帖 1,357 积分 1,488 | |
|
真吃力
fr /s -f:"|" -t:"," *.txt 其它选项: -s - 包含子目录 -exp - 启用内存扩展算法,将会加倍 fr 的内存使用量,但是很多时候可以极大地 提高执行效率。如果你碰到了性能问题,可以尝试开启该选项。 -stdin - 从标准输入设备获得要查找的内容,并将结果从到标准输出设备(如果未指 定任何文件模板的话,则自动启用该选项) -stdout - 像平时一样, 从文件中获得输入, 但将结果送到标准输出(而不是写回文 件) -frc - 显示每个文件内发生的替换次数 -trc - 显示所有文件总共发生的替换次数 |
|
| 第6楼 pooronce | 发表于 2009-03-14 13:05 |
| 中级用户 发帖 250 积分 484 | |
|
sed -i "s@\|@,@g;" *.txt
做好备份,这是修改原文件的,慎用 |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |