我有三个图标:notte(不是符号链接)、astronomy(符号链接)和 gnome-astronomy(符号链接)。
ls -l
astronomy.svg -> celestia.svg
gnome-astronomy.svg -> konquest.svg
notte.svg
我想将这两个符号链接重命名为 notte。它应该是这样的:
ls -l
astronomy.svg -> notte.svg
gnome-astronomy.svg -> notte.svg
notte.svg
rename
命令是:
rename -s 'celestia' -- 'notte' *.svg
我希望运行命令,使用带有“|”的正则表达式,但它不起作用。这里是这样的:
rename -s -n 'konquest\|celestia' -- 'notte' *.svg
rename -s -n 's/konquest\|celestia/notte/g' *.svg
rename -s -n 's/\(konquest\|celestia\)/notte/g' *.svg
这种情况只有在没有-s
并且文件不是符号链接的情况下才有效。
该软件包的
rename
实用程序util-linux
也称为rename.ul
不理解正则表达式和-n
,而是-s
开关。您可以在循环中重命名符号链接目标:
Perl
rename
脚本可以理解正则表达式和-n
,但不能重命名符号链接目标。