我的文件夹./
下有一些文件:
$ls
XX
AArse
BArse
CCCAArse
YY
....
在某些命令之后,我得到
AA
BA
CCCAA
如果文件名末尾有rse
,
将重命名(剪切姓res
)。
如何在命令行中实现某些命令?
使用Perl的独立rename
命令,正则表达式和bash的globbing:
rename -n 's/...$//' *rse
在某些发行版中,rename
也称为prename
。如果一切正常,请删除-n
。
使用bash
:
shopt -s nullglob
for file in *rse; do
mv -i "$file" "${file%rse}"
done
shell选项nullglob
将不匹配的glob模式扩展为空字符串,参数扩展${file%rse}
从文件名中删除最短的后缀rse
。
选项-i
提示覆盖已经存在的文件。