Как разделить поля с помощью разделителя символов трубы

Я знаю, что этот вопрос уже был задан, но ни одно из решений, которое я нашел, не сработало для меня! У меня есть программа, которая имеет такой вывод:

COUNT|293|1|lps

Я заинтересован в том, чтобы было второе поле, однако ни одна из этих попыток не сработала:

./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 и на моем встроенном устройстве, используюм ash busybox! Любой указатель очень ценится!

РЕДАКТИРОВАТЬ Моя вина, выход был в stderr... . _.

./spawn 1 2>&1 | cut -d '|' -f2
4615

Извините за облагораживание!

6
задан morandg 26 January 2012 в 13:31
поделиться