小编Har*_*asa的帖子

使用While和grep组合 - "意外标记'<'附近的语法错误"

我试图将grep的stdout指向while循环中的read命令的stdin

下面的代码给我语法错误 - "语法错误附近意外令牌`<'"

while read -r line ; do
 echo "Processing $line "
 IFS=: read var1 var2 var3 <<< $line
 if [ -n "$(expr match "$var3" '.*\(BEGIN\).*')" ]; then
   echo "Found BEGIN"
   (( var2 += 1 ))
   read -r line1
   IFS=: read var4 var5 var6 <<< $line1
   if [ -n "$(expr match "$var6" '.*\(END\).*')" ]; then
     echo "Found END"
     (( var5 -= 1 ))
     sed -i -e "$var2,$var5 s/# //" -e "$var2,$var5 s%/\* %%" -e "$var2,$var5 s% \*/%%" $var1 …
Run Code Online (Sandbox Code Playgroud)

bash grep while-loop

3
推荐指数
1
解决办法
553
查看次数

标签 统计

bash ×1

grep ×1

while-loop ×1