如何将特定文件重命名为许多文件夹的文件夹名称

时间:2019-07-20 06:22:08

标签: bash

我有许多目录,分别是out_00,out_01,out_02 .....每个目录都包含一个特定的文件,称为“ results.fits”(名称相同,但内容不同)。我想将新目录创建为“ results”,并将所有“ results.fits”保存为新名称,分别为“ results_00.fits”,“ results_01.fits”,“ results_02.fits”,最后将所有fits文件另存为csv文件,all_results.csv。你能帮我吗?

1 个答案:

答案 0 :(得分:0)

#! /bin/bash

mkdir results

ls | grep 'out_[0-9][0-9]' |
    while read dir
    do
        [ -d "$dir" ] && mv "$dir"/results.fits results/"results_${dir##*_}.fits"
    done

cat results/* > all_results.csv

如果所有这些目录都在同一目录中,则将执行此操作。