删除文件名中除第一个 n 之外的所有字符

删除文件名中除第一个 n 之外的所有字符

假设我有一个文件名列表:

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

相关内容