![根据文件名创建文件夹 bash](https://linux22.com/image/1171209/%E6%A0%B9%E6%8D%AE%E6%96%87%E4%BB%B6%E5%90%8D%E5%88%9B%E5%BB%BA%E6%96%87%E4%BB%B6%E5%A4%B9%20bash.png)
需要为每个客户创建一个文件夹,然后将所有日志移动到该目录中。
例子。
文件名:
约翰.卢卡.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