shell 从文件名的一部分创建文件夹名的bash脚本[重复]

rdrgkggo  于 2023-01-17  发布在  Shell
关注(0)|答案(1)|浏览(128)
    • 此问题在此处已有答案**:

(9个答案)
3天前关闭。
我刚接触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和类似的this post,但有一些麻烦。我感谢一些帮助。
非常感谢!

xoshrz7s

xoshrz7s1#

使用bash前缀和后缀移除操作。更多细节请参见评论中的链接。
例如:

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

相关问题