我有一个包含数千行内容的文件,如下所示:
PTR:0,1,1,11,P,X_Coord
PTR:0,1,1,41,P,Y_Coord
PTR:0,1,1,6,P,W_No
PTR:0,1,4,-22,P,X_Coord
PTR:0,1,4,42,P,Y_Coord
PTR:0,1,5,0,P,W_No
我需要根据关键字(X_coord,Y_Coord,W_No)从这些行的每一行中获取没有四个字段,并放入数组中。 我正在使用keword使用awk,循环结果并将值添加到数组中。 下面是我的代码:
awk /$X_keyword/ $ATDF | while read -r file
do
VALUE=`echo $file | cut -d ',' -f 1`
HEADER=`echo $VALUE | cut -c 1-4`
echo $file
if [[ $HEADER = 'PTR:' ]]; then
VALUE=`echo $file | cut -d ',' -f 4`
echo $VALUE
XCOORD+=($VALUE)
((X++))
fi
done
使用相同的代码通过更改关键字来获取Y_coord和W_No。 但是,当我不回显X_coord,Y_Coord和W_No的元素时,它显示为零。 即使我的值X也为零。我在下面使用回显:
echo $X
echo ${#XCOORD[@]}
我也在下面尝试过,也返回零。
XCOORD=($(awk -F',' '
/$X_keyword/ {id1=$4}
{print id1}' $ATDF ))
X=${#XCOORD[@]}
echo $X
echo ${#XCOORD[@]}