我有这个:
echo -e "\n\n"
find /home/*/var/*/logs/ \
-name transfer.log \
-exec awk -v SUM=0 '$0 {SUM+=1} END {print "{} " SUM}' {} \; \
> >( sed '/\b0\b/d' \
| awk ' BEGIN {printf "\t\t\tTRANSFER LOG\t\t\t\t\t#OF HITS\n"}
{printf "%-72s %-s\n", $1, $2}
' \
| (read -r; printf "%s\n" "$REPLY"; sort -nr -k2)
)
echo -e "\n\n"
当在带有 bash 4.1.2 的机器上运行时,总是正确返回,除非我将所有 4 行都放在顶部。
当在带有 bash 3.00.15 的机器上运行时,它会在顶部给出我所有的 4 行新行,在输出中间返回提示,并且永远不会完成只是挂起。
我真的很想为这两个版本解决这个问题,因为我们有很多机器同时运行这两个版本。