我的模式匹配有什么问题?

时间:2016-08-09 19:31:00

标签: linux bash shell

目录中的文件

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

1 个答案:

答案 0 :(得分:1)

尝试:

  • [[ "$i" =~ TEx ]]代替[ "$i" == "$TEx" ]

  • file1=$i=周围没有空格。此外,双引号也不是必需的。

  • echo file1=$file1不只是echo file1