在linux中,根据文件夹的日期和文件的日期将文件移动到各自的文件夹中



我对bash脚本和linux还很陌生,我有一个只有日期的文件夹,比如

2012-11-20
2012-11-21
2012-11-22
2012-11-23

我的文件名为data_11202012_randomnumbers_csv。

我想创建一个脚本,通过将文件上的日期与文件夹相匹配,可以将每个csv文件移动到正确的文件夹。

我一直在输入mv file path,但我有100个文件,我想知道是否有更简单的方法。

如有任何帮助,我们将不胜感激。

以下内容应该为您完成。我将用评论进行解释

for file in your_folder/*; do
# 1. Extract the numbers from the file name
dir="${file#data_}" # remove data_ prefix
dir="${dir%%_*}" # remove everything after first _
# 2. Rearrange the numbers into the desired format
dir="${dir:2:4}-${dir:0:2}-${dir:6:2}"

# 3. Move the file into the directory
mv file dir
done

这里有一个非常有用的bash备忘单,您可以在其中了解更多信息。它展示了我在代码片段中进行的所有变量扩展以及更多内容。

相关内容

  • 没有找到相关文章

最新更新