分页: 1 / 1

批量将多个目录下的文件重命名成目录名加数字形式

发表于 : 2018-11-22 13:56
半卷春秋
我有一个目录,假设叫workspace,里面有多个文件夹,不妨假设有两个,分别为foo,bar文件夹,foo里有a.mp4,b.mp4等文件,bar文件夹里有a.jpg,b.jpg等文件,我希望将workspace目录下每个文件夹里的文件重命名为其所在目录加数字的形式,如foo文件夹改为foo1.mp4,foo2.mp4等等,bar下改为bar1.jpg,bar2.jpg等等,没写过脚本,请问用shell怎么处理,能否一行命令解决?

Re: 批量将多个目录下的文件重命名成目录名加数字形式

发表于 : 2018-11-23 18:21
leafei

代码: 全选

for i in foo bar ; do k=1 ; cd /tmp/workspace/${i} ; for j in *; do mv $j $(basename $(pwd))${k}.$(echo $j | cut -d'.' -f 2) ; let k++ ; done ; done

代码: 全选

/tmp/workspace
改成你的目录,要绝对路径。