如何比较 Bash 脚本中的字符串

如何比较 Bash 脚本中的字符串

我有一个像“9999991385”这样的字符串,现在我想匹配一个文件中的前 4 位数字(如果匹配或不匹配)?

答案1

纯 bash 示例

您可以使用变量操作 ${::} 从 bash 变量中提取子字符串,如下所示

x="9999991385";
echo ${x:0:4}; # prints 9999

尽管我不太清楚您在“一个文件”中做什么或从“一个文件”中获取什么,但您可以像这样比较字符串:

x="9999991385";
[[ "${x:0:4}" ==  "some string" ]] && some_thing_useful_here;

答案2

尝试这样做:

num=9999991385
[[ $num =~ ^([O-9]{4}).* ]] && echo match
echo ${BASH_REMATCH[1]} 

相关内容