질문이 있습니다. 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를 사용하여 변경할 수 있습니다.