正则表达式 – 使用bash脚本逐行读取文件

我需要一个bash脚本来逐行读取文件.如果正则表达式匹配,则回显此行.

该脚本如下:

#!/bin/bash

echo "Start!"

for line in $(cat results)
do
   regex = '^[0-9]+/[0-9]+/[0-9]+$'
   if [[ $line =~ $regex ]]
   then
      echo $line
   fi
done

它正在打印文件内容,但显示此警告:

./script: line 7: regex: command not found

错误在哪里?

解决方法

在这种情况下的问题是=符号周围的空格regex =’^ [0-9] / [0-9] / [0-9] $’

它应该是

regex='^[0-9]+/[0-9]+/[0-9]+$'

ShellCheck自动向您发出警告,并建议在何处引用您的变量以及如何逐行阅读(您目前正在逐字逐句地进行操作).

相关文章

正则替换html代码中img标签的src值在开发富文本信息在移动端...
正则表达式
AWK是一种处理文本文件的语言,是一个强大的文件分析工具。它...
正则表达式是特殊的字符序列,利用事先定义好的特定字符以及...
Python界一名小学生,热心分享编程学习。
收集整理每周优质开发者内容,包括、、等方面。每周五定期发...