我想转到每个文件夹,然后在每个文件夹中找到一个文件(file.sum)。如果文件存在,我想重命名以指示它来自的文件夹(即265.file.sum,然后将其移动到另一个文件夹(我们将其称为〜/ summary)。)文件夹名称使用3位数字001到365。文件夹数量不是必需的365。可以是250或100。 您如何使用bash脚本进行操作? 预先感谢!
答案 0 :(得分:0)
您可以尝试以下方法:
for f in $(find path/to/search -name "file.sum")
do
mv "$f" ~/summary/$(dirname "$f").$(basename "$f")
done
答案 1 :(得分:0)
仅限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