我有一个看起来像这样的列表
ABC_100.0_k_1x1x1.xyz
ABC_100.0_k_1x1x1.txt
ABC_100.0_k_2x2x2.xyz
ABC_100.0_k_2x2x2.txt
ABC_100.0_k_10x10x10.xyz
ABC_100.0_k_10x10x10.txt
ABC_600.0_k_1x1x1.xyz
ABC_600.0_k_1x1x1.txt
ABC_1000.0_k_1x1x1.xyz
ABC_1000.0_k_1x1x1.txt
我想编写一个创建以下文件夹的脚本
ABC_100.0_k_1x1x1
ABC_100.0_k_2x2x2
ABC_100.0_k_10x10x10
ABC_600.0_k_1x1x1
ABC_1000.0_k_1x1x1
我试过以下
#!/bin/bash
for file in *_???.*_?x?x?.*
do
dir=${file%}
dir=${dir%.*}
mkdir -p "./$dir" &&
scp -r "$file" "./$dir"
done
但我只得到文件夹
ABC_100.0_k_1x1x1
ABC_600.0_k_1x1x1
我究竟做错了什么?也许这很愚蠢,但这是我第一次尝试 shell 脚本