재귀 파일에서 전체 줄을 검색하고 바꾸기

재귀 파일에서 전체 줄을 검색하고 바꾸기

나는 다음을 사용하고 있습니다 :

grep -n -H -o -R -e textword .

문자열 "textword"를 사용하여 "." 디렉터리 아래의 모든 파일을 반복적으로 나열하고 파일, 줄 및 부분적으로 일치하는 항목만 표시합니다.

Linux 명령을 사용하여 텍스트와 일치하는 줄을 삭제해야 합니다.

답변1

find . -type f -exec sed -r -i "/textword/d" {} +

sed검색 텍스트는 옵션과 함께 정규식으로 해석되므로 -r이스케이프가 필요할 수 있습니다.

sed -i.backup원본 파일을 에 백업하는 데 사용됩니다 <filename>.backup.

답변2

GNU를 사용하면 find다음 sed을 수행할 수 있습니다.

find . -type f -print0 | xargs -0 sed -i '/^FIND$/d'

관련 정보