我想转到每个文件夹并在每个文件夹中找到一个文件(file.sum)。如果该文件存在,我想重命名以指示它来自哪个文件夹(即265.file.sum然后将其移动到另一个文件夹(让我们称之为〜/ summary)..文件夹名称使用来自的3位数字001到365.文件夹的数量不是必需的365.它可能是250或100.您如何使用bash脚本?提前感谢!
击只。假设您位于###
文件夹所在的目录中,并且目标目录已存在于$some_path
中。
for f in [0-9][0-9][0-9]/file.sum
do d="${f%/*}" # current immediate folder name
n="${f##*/}" # basename
mv "$f" "$some_path/summary/$d.$n"
done
你可以试试这个:
for f in $(find path/to/search -name "file.sum")
do
mv "$f" ~/summary/$(dirname "$f").$(basename "$f")
done