bash脚本从文件名的一部分创建文件夹名称



我是bash和编码的新手。我有一个文件列表:

test-T01___2022.txt
test-T01__2021.txt
test-T01_NONE.txt
test-T02___2022.txt
test-T02__2021.txt
test-T02_NONE.txt
test-T03___2022.txt
test-T03__2021.txt
test-T03_NONE.txt

我试图写一个脚本来创建文件夹T01(包含*T01文件),T02(包含所有文件与T02)等。我正在尝试通配符和regexp和类似于这篇文章的东西,但有一些麻烦。我很感激你的帮助。

多谢!

使用bash前缀和后缀删除操作。查看评论中的链接了解更多详细信息。

例如:

files=...
for file in $files
do
a=${file#test-}
dir=${a%%_*}
mkdir "$dir"
mv "$file" "$dir"
done

最新更新