【发布时间】:2012-05-09 10:28:48
【问题描述】:
我有这个命令:
$ find $PWD -name "*.jpg" | awk '{system( "echo " $(sub(/\//, "_")) ) }'
_home/mol/Pulpit/test/1.jpg
现在同样的事情,但使用 gsub:
$ find $PWD -name "*.jpg" | awk '{system( "echo " $(gsub(/\//, "_")) ) }'
mol@mol:~
我想得到结果:
_home_mol_Pulpit_test_1.jpg
感谢您的帮助。
编辑:
我用'echo'来测试命令:
$ find $PWD -name "*.jpg" | awk '{gsub("/", "_")} {system( "echo " mv $0 " " $0) }'
_home_mol_Pulpit_test_1.jpg _home_pic_Pulpit_test_1.jpg
mol@mol:~
我想得到结果:
$ find $PWD -name "*.jpg" | awk '{gsub("/", "_")} {system( "echo " mv $0 " " $0) }'
/home/pic/Pulpit/test/1.jpg _home_pic_Pulpit_test_1.jpg
【问题讨论】:
-
看看
rename命令。有两个版本。一种是 Perl 脚本,有时称为prename。另一个是util-linux-ng包的一部分。两者都可以做你正在做的重命名类型。