假设我有一个文件名列表:
gne75943.abc
njfihf87384758943.abc
gkjegh689678.abc
gdreui543843.abc
gh.abc
我想要得到这个:
gn.abc
nj.abc
gk.abc
gd.abc
gh.abc
我该怎么做?我找不到任何相关信息。
答案1
rename -n 's/(..).*\.abc/$1.abc/' *.abc
或者
for f in *.abc; do echo mv -nv -- "$f" "$(printf '%.2s.abc' "$f")"; done
对所指示的替换满意后,删除echo
/-n