2016-06-09 9 views
0

같은 패턴을 가진 단락으로 구성된 .srt 파일을 가지고 있습니다. 각 문서의 단락 양이 다릅니다. 단락의 번호를 유지하고 두 번째 줄에 시간을 유지하고 기본적으로 "배 선율 :"및 그 옆에있는 숫자 만 유지하십시오. 마지막 줄 또한 나갈 수 있습니다..srt 파일의 단락을 일괄 삭제합니다.

모든 도움을 많이 받으실 수 있습니다!

나는 맥을 실행하고 및 자동화 또는

이 단락 지금

1 
00:00:01,000 --> 00:00:02,000 
HOME(11.6488,51.7185) 2016.06.02 13:19:11 
GPS(11.6488,51.7185,18) BAROMETER:3.5 
ISO:100 Shutter:400 A:63 AA:63 EV: Fnum:6.3 

2 
00:00:02,000 --> 00:00:03,000 
HOME(11.6488,51.7185) 2016.06.02 13:19:12 
GPS(11.6488,51.7185,17) BAROMETER:3.5 
ISO:100 Shutter:400 A:63 AA:63 EV: Fnum:6.3 

처럼 어떻게 다른 프로그램에서 작업을 수행하고자하는이 내가 그들에게하고 싶은 방법입니다 이후

3 
00:00:03,000 --> 00:00:04,000 
BAROMETER:4.3 

4 
00:00:04,000 --> 00:00:05,000 
BAROMETER:5.3 

답변

1
grep -oE "^[0-9].*$|^$|BAROMETER.*$" input-file 


,369처럼편집 : 귀하의 의견을 바탕으로 폴더의 모든 파일에 대해 작업을 수행하고 현재 위치를 바꾼 것으로 보입니다. 이 경우 findsed을 사용하는 것이 더 좋습니다.

find "[email protected]" -type f -name "*.srt" -exec \ 
    sed -i.bak '/^[0-9]\|BAROMETER\|^$/!d;s/^.*\(BAROMETER\)/\1/' {} \; 

난 정말 아무것도 자동화를 사용한 적이 있지만, documentation에서 매우 상세한 예제가 있습니다.

+0

나는 열심히 노력했지만 그것을 통해 완전한 자동화 작업을 얻을 수 없었습니다. 내가 선택한 폴더의 모든 파일에이 작업을 수행한다고 가정 해 봅시다. 1. 자동화 프로그램에 새 응용 프로그램을 만듭니다. 2. "check folder"를 추가하십시오. 3. 쉘 스크립트를 추가하십시오. 나머지는 없습니다. 내 자신을 알아 내 : ( 기본적으로 내 꿈은 폴더를 요구하는 응용 프로그램이 될 것이고, 폴더의 모든 텍스트 파일을 변환하고 내가 선택할 수있는 위치에 같은 이름으로 저장하는 것입니다. 미리 감사드립니다. – Philipp

+0

분명히 sed가 사용하는 정규식은 원래의 .srt 파일의 모든 내용을 제거합니다. 누군가가 정규 표현식을 더 나은 버전으로 대체 할 수있게 도와 줄 수 있습니까? 예를 찾으십시오. 첨부 된 srt 파일 [link] (https://dl.dropboxusercontent.com/u/19) 37633/DJI_0002.SRT) – Philipp