저는 특별한 용도로 프로그램을 사용자 정의하기 위해 절름발이 주위에 간단한 스크립트를 작성하려고합니다. 내가하고 싶은 것은 Lame 출력의 완성도를 분석하는 것입니다.계속 업데이트 된 출력의 grep'ing 출력
./lame --nohist ~/Desktop/Driver.wav ~/Desktop/Driver.mp3 2>&1| egrep -o "\([0-9\%]+\)"
을하지만 그 아무 것도 반환하지 않습니다 :
여기에 라인이 지금의 모습입니다. 다음은 Lame의 출력 모습입니다.
LAME 3.99 (alpha 1, Jun 4 2009 19:42:31) 32bits (http://www.mp3dev.org/) warning: alpha versions should be used for testing only Using polyphase lowpass filter, transition band: 16538 Hz - 17071 Hz Encoding /Users/jkubicek/Desktop/Driver.wav to /Users/jkubicek/Desktop/Driver.mp3 Encoding as 44.1 kHz j-stereo MPEG-1 Layer III (11x) 128 kbps qval=3 Frame | CPU time/estim | REAL time/estim | play/CPU | ETA 1500/8765 (17%)| 0:02/ 0:15| 0:03/ 0:17| 14.654x| 0:14
마지막 줄의 코드는 파일이 변환 될 때 동적으로 업데이트됩니다. 이 정확한 텍스트를 내 grep에 복사/붙여 넣기/에코/파이프 할 때 실제로 17 %를 찾았지만 실제로 실행하면 zilch가 발견됩니다.
편집 : 나는 텍스트 파일로 절름발이의 출력을 던질 때, 여기 결과가 어떻게 생겼는지 : 나는 임시 파일에 출력을 밀어 읽을 수처럼
lameout.txt http://nothing2fancy.com/images/forum_images/lameout.txt-20090621-095324.png
같습니다 그 비율은 거기서 끝나지 만,이 일을하는 더 우아한 방법이있는 것처럼 어색한 느낌입니다.
제안 해 주셔서 감사합니다. 나는 출력 파일을 검사하고 그것은 개별 라인에있는 모든 개별 퍼센트 업데이트를 보유하고있다. 따라서 각각을 읽는 것이 가능해야합니다. – kubi
lame이 숫자를 출력 한 다음^H (또는 백 스페이스)를 출력 할 수도 있습니다. 따라서 grep은 EOL을 식별 할 수 있도록 캐리지 리턴을 얻을 수 없습니다. 절름발이는 또한 stdout이 보내지는 위치에 따라 출력을 변경할 수 있습니다. –