다음 블록이 있습니다
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"}'
그러나 이것은 작동하지 않는 것 같습니다. 어떤 아이디어가 있나요? 감사해요