я написал команду Баш на тест Grep с пеленального линии:неожиданный результат: Grep с пеленального линии
for i in $(seq 0 9); do echo -e -n "\r"$i; sleep 0.1; done | grep 5
Результат показывает:
9
Update
Реальная проблема заключается в следующем:
mplayer показывает и обновляет ход одной строки при воспроизведении медиафайла. Образец результата:
A: 17.2 (17.2) of 213.0 (03:33.0) 0.5%
И я пытаюсь добиться успеха в этом процессе и перенести другие строки. Я использовал эту команду:
mplayer xxx.mp3 | grep ^A:
Результат не содержит ожидаемой линии.
Update 2
mplayer xxx.mp3 | od -xda
показывает:
0002140 4a5b 410d 203a 2020 2e31 2033 3028 2e31
[ J \r A : 1 . 3 ( 0 1 .
133 112 015 101 072 040 040 040 061 056 063 040 050 060 061 056
0002160 2932 6f20 2066 3132 2e33 2030 3028 3a33
2 ) o f 2 1 3 . 0 ( 0 3 :
062 051 040 157 146 040 062 061 063 056 060 040 050 060 063 072
0002200 3333 302e 2029 3020 342e 2025 5b1b 0d4a
3 3 . 0 ) 0 . 4 % 033 [ J \r
063 063 056 060 051 040 040 060 056 064 045 040 033 133 112 015
0002220 3a41 2020 3120 352e 2820 3130 342e 2029
A : 1 . 5 ( 0 1 . 4 )
101 072 040 040 040 061 056 065 040 050 060 061 056 064 051 040
0002240 666f 3220 3331 302e 2820 3330 333a 2e33
o f 2 1 3 . 0 ( 0 3 : 3 3 .
157 146 040 062 061 063 056 060 040 050 060 063 072 063 063 056
И
mplayer xxx.mp3 | tr '\r' '\n'
показывает
A: 0.2 (00.1) of 213.0 (03:33.0) 0.3%
A: 0.3 (00.3) of 213.0 (03:33.0) 0.3%
A: 0.5 (00.5) of 213.0 (03:33.0) 0.4%
A: 0.6 (00.6) of 213.0 (03:33.0) 0.4%
A: 0.8 (00.8) of 213.0 (03:33.0) 0.4%
A: 1.0 (01.0) of 213.0 (03:33.0) 0.4%
В то время,
mplayer xxx.mp3 | tr '\r' '\n' | grep ^A
показывает пустой результат.
Любой совет будет оценен.
Спасибо. Если я хочу сохранить 'echo -e -n '\ r" $ i "', можно ли grep из него? 'Echo -e" \ r "$ i' добавляет \ n до конца и не отображает –
Я обновил свое описание: Я пытаюсь выполнить последовательность воспроизведения игры mplayer. –
@ Jonny, см. мое обновление, это просто вопрос превращения этих псевдо-линий в реальные строки. – paxdiablo