我有大量文件名为
的文件OUTPUT_11_0.175
我想提取这两个数字,我设法得到第二个数字:
for file in ./dir/*; do
phi=${file##*_}
echo "$phi"
done
在这种情况下获得另一个号码11,我试过
a=${file#*_}
但这会返回第一个下划线左侧的所有内容(该目录包含下划线) - 是否有某种方法可以说服bash转到两个下划线之间的“读取”并返回“11”?
答案 0 :(得分:2)
$ IFS=_ read -a foo <<< "OUTPUT_11_0.175"
$ echo "${foo[0]}"
OUTPUT
$ echo "${foo[1]}"
11
$ echo "${foo[2]}"
0.175