我的目录中的文件
262_V01_C00_R000_TEx_BL_2048H.dat 262_V01_C02_R000_THx_BL_2048H.dat
262_V01_C01_R000_TEy_BL_2048H.dat 262_V01_C03_R000_THy_BL_2048H.dat
我的脚本
#!/bin/bash
for i in *.dat;
do
if [ "$i" == "$TEx" ];then
file1= "$i"
fi
if [ "$i" == "$TEy" ];then
file2= "$i"
fi
done
echo file1
echo file2
我得到了
file1
file2
我的目标是
file1=262_V01_C00_R000_TEx_BL_2048H.dat
file2=262_V01_C00_R000_TEy_BL_2048H.dat
最佳答案
尝试:
[[ "$i"=~ TEx ]]
而不是[ "$i"== "$TEx"]
。file1=$i
,=
周围没有空格。另外,双引号不是必需的。echo file1=$file1
不仅仅是echo file1
。
关于linux - 我的模式匹配出了什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38858969/