- 论坛徽章:
- 2
|
本帖最后由 weichanghe2000 于 2017-04-15 23:42 编辑
大家好,请教个问题。
假如我有目录a:
下面的文件,子目录,子文件有可能有形如 23:34, 12:24:45, 18:34:45:56 等等目录或文件名,
现在要求所有文件和目录中含有 : 的递归更改为 _,即更改为
23_34, 12_24_45, 18_34_45_56。
其它介绍:
我用命令 find . -depth -type d -name "*:*" | sed -r 's/.*/mv & &/; s/:/_/ge' 报
mv: cannot stat `./bak_uset_2016_03_24-23_38_32': No such file or directory
mv: cannot stat `./bak_csh_2016_03_24-23_38_27': No such file or directory
sed版本如下:
sed --version
GNU sed version 4.1.5
Copyright (C) 2003 Free Software Foundation, Inc.
os版本
Description: Red Hat Enterprise Linux Server release 5.8 (Tikanga)
猜测是 sed 不支持 s替换中的 /e 选项。
请问如何用 find,我的sed版本,mv 如何实现上面的需求呢?
多谢大家。
|
|