如何使用Linux shell管道重命名文件?

yx2lnoni  于 2023-03-19  发布在  Shell
关注(0)|答案(3)|浏览(114)

我想使用带有管道的shell命令行来重命名文件。
示例:将x111.png重命名为my_x111.png(为每个文件添加前缀“my_”)
我知道mv xxx bbb是将xxx重命名为bbb的最佳方法,但是如何在shell中编写命令呢?

wnrlj8wa

wnrlj8wa1#

find -maxdepth 1 -type f | awk '{printf "mv %s my_%s\n", $2, $2}' FS=/ | sh

示例

mv README my_README
mv tree.pl my_tree.pl
mv youtube.sh my_youtube.sh
jckbn6z7

jckbn6z72#

rename 's/([^my_])(.*)/my_$1/g' *

此命令将所有文件名前面加上my_,但不包括已经以my_开头的文件名。
这取决于您的rename版本,这需要perl版本而不是util-linux-ng版本。

qf9go6mv

qf9go6mv3#

用途:

ls -1 *.png | nawk '{p=$0;$0="my_"$0;;system("mv "p" "$0); }'

引用为here

相关问题