我有文件夹和子文件夹,里面有10K张照片.
现在我需要将所有10K文件放入一个文件夹中.我想用现有的文件名附加文件夹和子文件夹名称,以便文件名对我有意义.
我需要帮助
您可以编写一个快速shell脚本来为您执行此操作.要获取当前文件夹的名称:
pwd|awk -F'/' '{print $NF}'
并获取当前文件夹的父级:
pwd|awk -F'/' '{SL = NF-1; print $SL}'
更新
创建一个如下所示的文件:
#!/bin/bash for f in `find . -name '*jpg'` do filename=`echo $f|awk -F'/' '{SL = NF-1; TL = NF-2; print $TL "_" $SL "_" $NF}'` cp $f newfolder/$filename done
然后做chmod +x
它.在顶级运行脚本.在这种情况下,您需要提前创建目标,新文件夹.
我采用了这个目录结构:
./bar ./bar/baz ./bar/baz/1.jpg ./bar/baz/2.jpg ./bar/baz/3.jpg ./bar/buz ./bar/buz/1.jpg ./bar/buz/2.jpg ./bar/buz/3.jpg ./foo ./foo/baz ./foo/baz/1.jpg ./foo/baz/2.jpg ./foo/baz/3.jpg ./foo/buz ./foo/buz/1.jpg ./foo/buz/2.jpg ./foo/buz/3.jpg
并做到了这一点:
./newfolder/bar_baz_1.jpg ./newfolder/bar_baz_2.jpg ./newfolder/bar_baz_3.jpg ./newfolder/bar_buz_1.jpg ./newfolder/bar_buz_2.jpg ./newfolder/bar_buz_3.jpg ./newfolder/foo_baz_1.jpg ./newfolder/foo_baz_2.jpg ./newfolder/foo_baz_3.jpg ./newfolder/foo_buz_1.jpg ./newfolder/foo_buz_2.jpg ./newfolder/foo_buz_3.jpg
希望这就是你要找的东西.