打印前排序

打印前排序

我有下面的块

while read -r line
do
  bad=$(cat node.txt  | grep -A1 success | grep -vi success | grep -i '|2|' | sed 's/|2|/ /g' | awk -v count_num=$count 'FNR==count_num')
  good=$(cat node.txt  | grep -A2 success | grep -vi success | grep -i '|1|'  | sed 's/|1|/ /g' | awk -v count_num=$count 'FNR==count_num')
  printf "| %-15s | %30s | %30s |\n" "$line" "$bad" "$good"
  count=$((count+1))
done <<< "$node"

它以正确的形式打印我想要的内容。第 3 列是我要排序的内容。如果我

./script.sh | awk 'NR<4{print $0;next}{print $0| “排序-r -k3”}'

这可以很好地排序,而无需很好地移动列标题。我希望将其合并到脚本本身中,因此无需使用 awk 运行脚本。

我尝试在循环之后添加它,例如:

done <<< "$node" | awk 'NR<4{print $0;next}{print $0| "sort -r -k3"}'

但这似乎不起作用。任何想法?谢谢

相关内容