LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1018|回复: 4

如何输出替换前 替换后的内容,使用awk sed均可

[复制链接]
发表于 2010-6-8 09:19:11 | 显示全部楼层 |阅读模式
比如,将文件名test 替换为 mytest
。 需要最后输出为 mv 替换前名称 替换后名称 ,以便的批量执行。
现在卡在如何同时输出 替换前 和替换后的内容,请大家帮忙。
发表于 2010-6-8 15:23:52 | 显示全部楼层
echo test|sed 'p;s/^/my/'
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-6-8 15:56:48 | 显示全部楼层
谢谢关注,解决的问题是,去除文件名中的空格
find ./* -name "* *" | 某个脚本 | sh,达到直接执行替换的效果
类似,批量执行 mv 命令

使用 sed 'p;s/ //g' ,结果会将前后分为两行,且,sed 中如何拼接 mv 命令?
回复 支持 反对

使用道具 举报

发表于 2010-6-8 19:16:11 | 显示全部楼层
  1. for a in *\ * ; do mv "$a" "${a// /_}";done
复制代码
空格变下划线
回复 支持 反对

使用道具 举报

发表于 2010-6-8 23:24:42 | 显示全部楼层
如果只是重命名
rename 's/^/my/' *
不就OK了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表