运行 bash 脚本将 .csv 附加到子目录中的文件,从计算机中移动/删除了所有文件

运行 bash 脚本将 .csv 附加到子目录中的文件,从计算机中移动/删除了所有文件

我有一个包含 100 个子文件夹的文件夹,每个文件夹中包含两个我想要添加 .csv 的文件。我写了一个bash脚本:

#!/bin/bash

for i in * ; do     
    cd $i   
    for k in *; do      
        mv "$k" "${f%.*}.csv"
    done
    cd .. 
done

我的所有文件都到哪里去了?我怎样才能把它们找回来?

答案1

mv "$k" "${f%.*}.csv"

由于f未定义变量,因此整个替换不等于空字符串,并且命令变为mv "$k" ".csv"

每个目录中除一个文件外的所有文件均已丢失。最后一个现在被命名为.csv。您可能没有注意到它,因为开头的点使文件隐藏;用于ls -a查看此类文件。 GUI 文件管理器通常也有一个显示隐藏文件的选项。

相关内容