我在名为folder1 的文件夹中有file1.zip、file2.zip 等。有类似的文件夹folder2、folder3等。
我需要将文件夹名称添加到这些文件夹内的每个 .zip 文件中。
所以,里面的文件文件夹1将是folder1_file1.zip、folder1_file2.zip、folder1_file3.zip 等。
相似地,文件夹2文件将为folder2_file1.zip、folder2_file2.zip、folder2_file2.zip 等。
多谢!
答案1
folder1
因此,在包含、folder2
、等的目录中运行此脚本folder3
,它将查看每个文件夹并将每个文件重命名为<directory_<filename>
.
我相信这就是您正在寻找的东西,如果这不是您正在寻找的东西,请告诉我。
#!/bin/bash
for x in $(ls `pwd`); do
if [ -d $x ]; then
cd $x
for f in *; do mv $f ${f/$f/$(basename `pwd`)_$f}; done
cd ..
fi
done
重要的是要注意,就文件名而言,这是不加区别的,如果里面有folder#
您不想重命名的文件,您可以更改该行
for f in *; do mv $f ${f/$f/$(basename `pwd`)_$f}; done
到:
for f in *pattern_you_are_lookingfor*; do mv $f ${f/$f/$(basename `pwd`)_$f}; done