특히 텍스트 파일에서 grep 출력 문자열을 제거하고 싶습니다.

특히 텍스트 파일에서 grep 출력 문자열을 제거하고 싶습니다.

중복 가능성:
특히 텍스트 파일에서 grep 출력 문자열을 제거하고 싶습니다.

저는 Linux를 처음 접했지만 문제가 발생했습니다. file_a.txt"my first command"라는 텍스트 파일이 있습니다 .

grep -A 12 ".production =" file_a.txt

출력은 여러 블록입니다. 각 문자열 블록에는 13줄이 포함되어 있습니다.

grep 특히 원본 파일에서 명령을 사용하여 얻은 모든 문자열 덩어리를 제거하고 싶고 file_a.txtgrep 출력을 새 파일로 보내고 싶지 않습니다. grep -v내 경우에는 작동하지 않기 때문에 둘 중 하나를 사용하고 싶지 않습니다 .

비슷한 것을 시도했지만 아무것도 작동하지 않습니다.

cut < grep -A 12 ".production =" file_a.txt

sed -i '/grep -A 12 ".production ="/d' file_a.txt

답변1

나는 당신이 이것을 찾고 있다고 생각합니다 :

sed -i '/.production =/,+12d' file_a.txt

sed가 패턴을 찾으면 12줄을 "제거"합니다.

(경고, file_a.txt를 수정하세요.제자리에)

답변2

sed -i '/\.production =/,+12d' file_a.txt

일을 할 것이다

관련 정보