一行代码搞定改名©文件

written in bash, shell

一行代码搞定改名&copy文件

1. 分段探索的过程

[jjb@ ~/pelicanoutput/pelican/pelican-themes #6]$for i in find . -name screenshot.png ;do echo ${i} ;done;

./bricks/screenshot.png
./monospace/screenshot.png
./foundation-default-colours/screenshot.png

2. 分段探索的过程

[jjb@ ~/pelicanoutput/pelican/pelican-themes #8]$for i in find . -name screenshot.png ;do echo dirname $i;done;

./bricks
./monospace
./foundation-default-colours

3. 分段探索的过程

[jjb@ ~/pelicanoutput/pelican/pelican-themes #34]$for i in find . -name screenshot.png ;do c=dirname $i;echo ${c##./};done;

bricks
monospace
foundation-default-colours

拆分一下

    for i in `find . -name screenshot.png`  #执行查找文件,反回结果作为列表
        do 
        b=`dirname $i`  #取得返回文件的路径
        c=${b##*./}     #去掉./ 剩下当前路径
        cp $i ~/sp/${c}.png #将文件重新命名后复制到新的文件夹
        done;
  • 最后实际运行的命令
for i in `find . -name screenshot.png`; do b=`dirname $i`;c=${b##*./};cp $i ~/sp/${c}.png;done;