我想重命名以以下开头的文件夹中的所有文件123_xxx.txt
to xxx.txt
.
例如我的目录有:
123_xxx.txt
123_yyy.txt
123_zzz.txt
我想将所有文件重命名为:
xxx.txt
yyy.txt
zzz.txt
我在这个论坛上看到了一些有用的 bash 脚本,但我仍然很困惑如何使用它来满足我的要求。
让我们假设我使用:
for file in `find -name '123_*.txt'` ; do mv $file {?.txt} ; done
这是正确的方法吗?
你可以这样做:
find . -name '123_*.txt' -type f -exec sh -c '
for f; do
mv "$f" "${f%/*}/${f##*/123_}"
done' sh {} +
没有管道,没有读取,没有机会破坏格式错误的文件名,没有非标准工具或功能。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)