根据文件名创建文件夹 bash

根据文件名创建文件夹 bash

需要为每个客户创建一个文件夹,然后将所有日志移动到该目录中。

例子。

文件名:

约翰.卢卡.010101.txt

约翰.卢卡.010102.txt

约翰.卢卡.010103.txt

小约翰·卢卡010101.txt

小约翰·卢卡010102.txt

需要创建一个名为 John.Luca 的文件夹和另一个名为 John.Luca.Jr 的文件夹,然后移动每个客户的所有日志。

约翰.卢卡/约翰.卢卡.010101.txt

约翰.卢卡/约翰.卢卡.010102.txt

小约翰/小约翰010101.txt

任何想法?

答案1

您可以尝试以下操作:

for f in *.txt; do 
  [[ ! -d "${f%.*.*}" ]] && mkdir "${f%.*.*}"
  mv "$f" "${f%.*.*}"
done

相关内容