有如下两个文件,现在需要将a.txt中非零的行提取出来,然后打印b.txt中对应行号的内容。
使用的代码如下:
count=($(awk '{print $1}' a.txt)) #将a.txt的内容保存为数组
num=${#count[@]} #数组大小
echo $num
nonzero=0
for((i=0;i<$num;i++));do
if [ ${count[$i]} != 0 ];then #判断该行是否为0值
line=$[$i+1] #数组序号从0开始,转成行号需要+1
echo $line
sed -n "${line}p" b.txt >> new.txt #将非零值对应的行输出到new.txt中
let nonzero++ #自加1
fi
done
echo $nonzero