我想使用带有管道的 shell 命令行来重命名文件。
示例:重命名x111.png
为my_x111.png
(为每个文件添加前缀“my_”)
我知道mv xxx bbb
将 xxx 重命名为 bbb 是最好的方法,但是如何在 shell 中编写命令?
我想使用带有管道的 shell 命令行来重命名文件。
示例:重命名x111.png
为my_x111.png
(为每个文件添加前缀“my_”)
我知道mv xxx bbb
将 xxx 重命名为 bbb 是最好的方法,但是如何在 shell 中编写命令?
find -maxdepth 1 -type f | awk '{printf "mv %s my_%s\n", $2, $2}' FS=/ | sh
例子
mv 自述文件 my_README mv tree.pl my_tree.pl mv youtube.sh my_youtube.sh
ls -1 *.png | nawk '{p=$0;$0="my_"$0;;system("mv "p" "$0); }'
参考这里
rename 's/([^my_])(.*)/my_$1/g' *
此命令会在所有文件名之前添加my_
不包括已经以 . 开头的文件名my_
。
这确实取决于您的版本rename
,这需要 perl-version 而不是 util-linux-ng 版本。