印刷する前に並べ替え

印刷する前に並べ替え

次のブロックがあります

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|

列見出しを素敵に動かさずに整列します。私はこれをスクリプト自体に統合して、スクリプトを実行するためにawkを使用する必要がないようにしたいと思います。

次のようなループの後に追加してみました。

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

しかし、これはうまくいかないようです。どんなアイデアがありますか?ありがとう

ベストアンサー1

おすすめ記事