我有一个包含 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 文件管理器通常也有一个显示隐藏文件的选项。