파일에서 특정 문자열을 포함하는 행을 삭제하려고합니다. awk
을 사용하지 않고 어떻게해야합니까? 내가 sed
을 사용하려고했지만 그것을 얻을 수 없었다.파일에서 문자열을 검색하고 쉘 스크립트로이 파일에서 문자열을 삭제하십시오.
16
A
답변
28
이 그것을 수행해야합니다
sed -e s/deletethis//g -i *
sed -e "s/deletethis//g" -i.backup *
sed -e "s/deletethis//g" -i .backup *
그것은 장소에 편집, 모든 파일에서 ""(아무것도) (*
)와 "deletethis"의 모든 항목을 대체합니다.
두 번째 형식에서는 패턴을 좀 더 안전하게 편집 할 수 있으며 ".backup"접미사로 수정 된 파일의 백업을 만듭니다.
세 번째 형식은 sed
의 일부 버전과 비슷한 방식입니다. (예 : Mac OS X)
man sed
자세한 내용은
16
sed -i '/pattern/d' file
줄을 삭제하려면 'd'를 사용하십시오. 이것은 적어도 GNU-Sed에서 작동합니다.
당신의 Sed의이 옵션이없는 경우, 어쩌면 당신은 수정 저장, 중간 파일을 사용할 수 있습니다, 장소에서 파일을 변경하려면 : 일반적으로하지 않는 소스에 직접 쓰기
sed '/pattern/d' file > tmpfile && mv tmpfile file
을 work : sed '/pattern/d' file > file
의심되는 경우 시도하기 전에 복사본을 만드십시오.
0
Vim은 방향보십시오 : 나는 일반적으로 표현뿐만 아니라 내가 나오지은`-i.bak` 구문이를 생성 지적하고 싶은 말을 인용 더 좋은 아이디어라고 생각
ex -s +"g/foo/d" -cwq file.txt
관련 문제
- 1. 파일에서 여러 문자열을 검색하는 방법
- 2. IOS에있는 파일에서 문자열을 구성
- 3. 파일에서 문자열을 검색하고 문자열이 없으면 함수를 실행합니다. in python
- 4. 파일에서 키워드를 검색하고 키워드 뒤에 나오는 문자열을 출력하려면 어떻게합니까?
- 5. 리소스를 복사 할 때 소스 파일에서 전체 문자열을 검색하고 바꿉니다.
- 6. 어떻게 텍스트 파일에서 문자열을 읽습니까?
- 7. 다른 파일에서 문자열을 반환하는 함수
- 8. Java에서 파일에서 행을 삭제하십시오.
- 9. 사용자 제출 문자열을 가져 와서 로그 파일에서 해당 문자열을 검색하고 줄 번호를 인쇄하려고합니다.
- 10. 문자열을 검색하고,이
- 11. 문자열을 검색하고 바꿉니다
- 12. 파일에서 문자열을 추출하는 일괄 처리 스크립트
- 13. 배치 파일에서 두 문자열을 결합하여 결합 된 경로 문자열을 만듭니다.
- 14. 파일에서 마지막 N 바이트를 삭제하십시오.
- 15. erb 파일에서 xml 형식의 문자열을 표시하는 방법
- 16. MFC는 파일에서 유니 코드 문자열을 문자열로 읽습니다.
- 17. 2 파일에서 'AUTO_INCREMENT ='로 시작하는 문자열을 제거하십시오.
- 18. \ n 구분 된 파일에서 문자열을 읽는 방법
- 19. bash에서 파일에서 버전 문자열을 추출하고 자르는 방법
- 20. 모든 .htaccess 파일에서 문자열을 반복적으로 grep
- 21. plist 파일에서 가져온 문자열을 무작위로 배열
- 22. 파일에서 문자열을 평가하는 쉬운 방법은 무엇입니까?
- 23. Cocoa : 파일에서 문자열을 가져 오는 기본 문제
- 24. wicket 속성 파일에서 문자열을 선택하려면 enum을 사용하십시오.
- 25. 문자열을 일치시키는 텍스트 파일에서 줄 번호를 가져와야합니다.
- 26. 파일에서 하위 문자열을 찾는 방법은 무엇입니까?
- 27. 파일에서 문자열을 찾는 가장 빠른 방법
- 28. PHP에서 특수 문자열을 검색하고 삽입하십시오.
- 29. 개미 파일에서 쉘 프로파일 소싱?
- 30. 쉘 스크립트를 사용하여 반복적으로 디렉토리를 탐색하고 문자열을 바꿉니다.
을 주어진 확장자를 가진 백업 파일. 나는. '-i.backup'도 될 수 있습니다 ... – 0xC0000022L
@STATUS 당신 말이 맞아요, 일부 버전의 sed는 실제로 접미사가 필요합니다. – mvds
이 작동하지 않습니다.이 문자열을 삭제합니다.이 문자열이 포함 된 줄을 삭제하려면 – virtue