この質問はすでに尋ねられていることは知っていますが、私が見つけた解決策はどれもうまくいきませんでした! 次のような出力を持つプログラムがあります。
COUNT|293|1|lps
私は2番目のフィールドを持つことに興味がありますが、これらの試みのどれもうまくいきませんでした:
./spawn 1 | cut -d '|' -f2
./spawn 1 | cut -d \| -f2
./spawn 1 | awk -F "|" '{print $2}'
./spawn 1 | awk 'BEGIN{FS="|"} {print $2}'
./spawn 1 | sed 's/|/;/g'
./spawn 1 | sed 's/\|/;/g'
ただし、出力は常に同じです。
COUNT|293|1|lps
bash のどこかにバグがありますか? Linux ホストでも、busybox の ash を使用した組み込みデバイスでも結果は同じです。どんなポインタでも大歓迎です!
EDIT 私のせいで、出力は stderr にありました ... ._.
./spawn 1 2>&1 | cut -d '|' -f2
4615
お騒がせしてすみません!