패턴을 새 파일에 저장하는 Sed 명령

패턴을 새 파일에 저장하는 Sed 명령

질문이 있습니다. Linux sed 명령을 작성하여 datat.txt 파일의 "숫자"(대문자 또는 소문자) 패턴과 일치하는 행을 저장하고 결과를 저장합니다(이전 내용 덮어쓰기). ~/results.txt

나는 다음 명령을 사용합니다.

sed -n -i '/number/p' data.txt>~/results.txt

하지만 more 명령을 사용하여 results.txt 파일을 보면 빈 텍스트 파일이 표시됩니다. 내가 뭔가 잘못하고 있는지 알려주세요.

답변1

두 가지 옵션을 사용합니다

  • -n: 정숙 모드, 출력 없음
  • -i: 그 자리에서 편집

따라서 원본 파일을 덮어쓰고 패턴만 유지하며 아무것도 출력하지 않습니다.

아마 그럴 계획이신가요?

sed -n '/number/Ip' data.txt > ~/results.txt
  • 플래그가 없으면 -n모든 라인이 에코됩니다.
  • I대소문자를 구분하지 않는 플래그

남성

-n, --조용함, --무음

패턴 공간의 자동 인쇄 억제

-i[접미사], --in-place[=접미사]

파일을 제자리에서 편집합니다(또는 확장자가 제공된 경우 백업). 기본 작동 모드는 심볼릭 링크와 하드 링크를 끊는 것입니다. 이는 --follow-symlinks 및 --copy를 사용하여 변경할 수 있습니다.

관련 정보