在unix FOR LOOP中显示语法错误(错误标记为“<”)

时间:2018-02-03 05:56:29

标签: bash shell loops unix for-loop

我想比较文件中两个标题之间的数据。

通过第一个awk命令,我在temp.txt中获取了标题。 $z保存文件中的标题数。现在我使用for-loop将两个连续标题与awk命令进行比较,但显示以下错误..

  

第5行:((:i<:语法错误:操作数预期(错误标记为“<”)

#!/bin/bash
awk '/^[A-Z]+[:_]/ {print $1}' abc.txt > temp.txt
z= wc -l temp.txt | cut -d " " -f1
echo $z
for((i=1;i<$z;i++))
do
A=$(awk "NR=='$i'" ref.txt )

B=$(awk "NR=='$i+1'" ref.txt )

C=echo$(sed -n -e /$A/,/$B/p /home/aniruddh/abc.txt > temp.txt)
awk '/[A-Z]+-[0-9]/ {print $1}' temp.txt
echo
done

2 个答案:

答案 0 :(得分:2)

使用$(...)

附上命令
z=$(wc -l temp.txt | cut -d " " -f1)

答案 1 :(得分:2)

由于错误在第5行,因此请在脚本中更改以下内容:

z=$(wc -l temp.txt | cut -d " " -f1)