파일에 저장하는 항목과 일치 할 때마다 여러 번있는 파일에서 X에서 Y까지를 가져와야합니다.pipe sed 명령을 사용하여 여러 파일 만들기
\x00START how are you? END\x00
\x00START good thanks END\x00
sometimes random things\x00\x00 inbetween it (ignore this text)
\x00START thats nice END\x00
이제 각 파일 (/folder/demo1.txt, /folder/demo2.txt 등) 명령을 실행 한 후이 있어야한다 : 여기
은 예제 파일 (demo.txt)입니다 'START'이외에 \ x00START와 END \ x00 사이의 내용 (\ x00은 null 임) 'END'가 아닙니다./folder/demo1.txt에 "START how are you?"라고 표시되어야합니다. /folder/demo2.txt는 "START good thanks"라고 말해야합니다.
기본적으로 "어떻게 지내십니까?" 'echo'를 사용하면 'START'를 앞에 붙일 수 있습니다.
매우 큰 바이너리 파일을 다루고 있습니다.
나는 현재
sed -n -e '/\x00START/,/END\x00/ p' demo.txt > demo1.txt
를 사용하고 있지만, 예상대로 (그것이 '\ x00START'전 라인을지고있어 첫 번째 '최종 \의 x00에서'에서 멈추지 않는다) 작동하지 않습니다.
참고로, 나는'sed'가 일반적으로 바이너리 파일과 잘 어울리는 것을 생각하지 않는다. – merlin2011
아, 어떤 아이디어라도 내가 사용할 수 있을까요? 나는 grep을 시도했지만 바이너리 파일에서도 잘 동작하지 않았다. – user3786834
어떤 종류의 파일입니까? 왜 그 안에 null 문자가 있습니까? 어쨌든, 바이너리 모드에서는'-b' 옵션을 사용하고 (* nix에서는 상관 없습니다),'\ x00'을 사용하여 널 문자를 찾습니다. – ooga