0
我有這樣的:bash命令替換力前景
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個在頂部,在輸出的中間返回的提示,並無法完成只是掛起。
,我真的很喜歡,因爲我們有很多運行的兩臺機器的解決這一問題的兩個版本。
'回聲-e 「\ n \ n」'導致新行權? –
你可能想嘗試簡化'找到...>>(SED ... | awk的... |(?))''要找到... | sed ... | awk ... | (...)'。 (我不知道如果是這樣的問題,但進程替換涉及在bash的部分一些trickinesses,所以它似乎也合情合理。) – ruakh
是@JKB,但他們都在輸出 – menders65