我需要删除“asc_”和“数百个文件名中,中间部分是唯一名称的“asc”。我只能删除“asc“基于下面的重命名命令。
重命名“asc_wildcard*.wildcard*” “////wildcard*.wildcard*”
asc_1234567_cs.jpg
asc_1234568_cs.jpg
asc_1234569_cs.jpg
有谁可以帮忙吗?
答案1
要从文件名中删除“asc_”和“cs”,可以使用以下重命名命令:
rename 's/asc_//' *
rename 's/cs//' *
这将从所有文件中删除“asc_”,然后从所有文件中删除“cs”。
如果您只想将更改应用于某些文件类型,则可以使用通配符指定文件类型。例如,要仅重命名 JPEG 文件,您可以使用以下命令:
rename 's/asc_//' *.jpg
rename 's/cs//' *.jpg
请注意,rename 命令可能并非在所有系统上都可用。如果您使用的系统没有 rename,则可以使用 find 和 mv 命令来实现相同的结果。
find . -name "asc_*" -exec mv {} `echo {} | sed 's/asc_//'` \;
find . -name "*cs*" -exec mv {} `echo {} | sed 's/cs//'` \;
这将找到所有名称以“asc_”开头的文件,并将它们移动到删除“asc_”部分的新位置,然后找到所有名称中带有“cs”的文件,并将它们移动到删除“cs”的新位置。