파일 찾기, 파일의 텍스트 편집 [닫기]

파일 찾기, 파일의 텍스트 편집 [닫기]

파일을 찾은 다음 해당 파일의 텍스트를 편집하려고 합니다. 이것이 제가 지금까지 갖고 있는 것이지만 불행히도 저는 그것에 대해 별로 익숙하지 않습니다. 도와주세요?

grep -rl "wrongtext" ~/Library/Calendars


/Users/foo/Library/Calendars/foo.caldav/foo.calendar/Info.plist
/Users/foo/Library/Calendars/foo.calendar.caldav/foo.calendar.calendar/Info.plist
/Users/foo/Library/Calendars/foo.calendar.caldav/Info.plist
/Users/foo/Library/Calendars/foo.calendar.caldav/Info.plist
/Users/foo/Library/Calendars/CalendarCache

그 다음에...

sed -i '' 's/wrongtext/righttext/g’

어떤 아이디어가 있나요?

답변1

다음을 수행해야 합니다.

grep -rlZ "wrongtext" ~/Library/Calendars | xargs -0 sed -i '' 's/wrongtext/righttext/g'

각 파일 이름 뒤에 개행 문자 대신 0바이트를 추가 -Z하는 매개변수를 추가했습니다 . grep따라서 이 명령은 이상한 파일 이름에도 작동합니다. xargs그런 다음 0바이트로 구분된 입력을 읽고 명령을 -0호출합니다 .sed

답변2

알아냈어요. 그것은 좋아하지 않는다-영형

grep -rlZ "wrongtext" ~/Library/Calendars | xargs sed -i '' 's/wrongtext/righttext/g'

관련 정보