ファイルの検索、ファイルのテキストの編集 [閉じる]

ファイルの検索、ファイルのテキストの編集 [閉じる]

ファイルを見つけて、そのファイルのテキストを編集しようとします。これが私が今まで持っているものですが、残念ながら私はそれについてあまり慣れていません。助けてください?

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'

各ファイル名の後に改行文字の代わりにゼロバイトを追加する-Zパラメータを追加しました。grepしたがって、このコマンドは奇妙なファイル名でも機能します。xargsその後、ゼロバイトで区切られた入力を読み取り、コマンドを-0呼び出します。sed

おすすめ記事