页次: 1
我用 rename 's/^/new-/' *.html 可以重命名当前目录下的html文件,但子目录下的文件无法改名~
我有一个目录,其中有大量子目录,子目录里各有很多html结尾的文件;我想把所有.html文件加前缀new-;比如原文件为001.html,重命名后为new-001.html;
我执行上面的命令,当前目录下文件可以重命名,但子目录下的文件没反应,怎样才能把所有子目录里的文件同时重命名?
最近编辑记录 驿窗 (2019-01-09 10:55:50)
开源/Linux大众化,从驿窗开始~
离线
rename 's/^/new-/' **/*.html
zsh 下可行,bash 大概需要借助 find + xargs 了。
离线
谢谢仙子~
我试着在bash里运行了一下,提示no such file or directory;看来必须要zsh了;
除了用rename,我这个批量改名,还有其它方法实现么?
zsh我暂时想先不折腾,如果没其它办法,我再试zsh~
最近编辑记录 驿窗 (2019-01-04 17:54:00)
开源/Linux大众化,从驿窗开始~
离线
你可以用 find 啊。find -name '*.html' -exec mv {} new-{} \; 大概这样子,用前先自行确认。
离线
我试试~
开源/Linux大众化,从驿窗开始~
离线
bash (4.0+) 可先先执行 shopt -s globstar。
离线
我试了下 shopt命令运行后没有提示,再运行改名命令,会提示文件不存在;
文件现在要用,我先手动进入目录改名,等空闲了,我再继续研究~
开源/Linux大众化,从驿窗开始~
离线
报文件不存在是因为 rename 的行为不符合你我的预期。要达到你想要的效果得这么写:
rename 's/([^\/]*$)/new-$1/' **/*.html
离线
果然,你这两条命令运行完就能搞定目录及所有子目录内文件加前缀~
命令我存下来了;我正在研究原理...
最近编辑记录 驿窗 (2019-01-05 16:24:51)
开源/Linux大众化,从驿窗开始~
离线
页次: 1