Pocket
LINEで送る

find . -type f | xargs sed -i -e s/hoge/hogehoge/g

macでillegal byte sequenceというエラーがでる場合は、下記をやる。

export LANG=C

追記:2014年2月14日

sedは、iオプションで上書き更新ができるが、上記コマンドを打つと-eという文字が後ろについたバックアップファイルが作成されてしまう。-i”.bak”とかってやると、.bak拡張しでバックアップができて、-iだけだとバックアップできないと思ってるんだけど、-eという文字列が後ろにくっついたファイルがバックアップとして作成されてしまっている。上記コマンドは-i -eとなってるので、この-eをバックアップファイルにくっつける文字列と勘違いしているのかもしれない。

とりあえず、-eとくっついたファイルが沢山できてしまったので、削除する場合は、下記のようにやる。

find app/View/. -name "*.ctp-e*"  -type f | xargs rm

これはcakePHPのviewファイルでctp拡張しの後ろに-eとついってしまっているものを全部削除している様。sedの処理を複数回やっていると、-e-e-eとかっていう残念なファイルが沢山できてしまったので、-e-e-eとかのファイルも全部削除している。

-i”” -eとかやっても、やはり-eという文字がくっついたバックアップファイルが作成されてしまう。仕方ないので、全ファイル置換してからバックアップファイル削除することにした。微妙だ。

Pocket
LINEで送る

カテゴリー: OS・サーバ

コメントください

関連記事

OS・サーバ

Ubuntu16.04 – キーボードのキー割り当て(キーバインド)をxkbで変更する

ホームディレクトリに.xkbというのを作って、.xkb以下に設定ファイ 続きを読む …

OS・サーバ

windows10とubuntu16.04のデュアルブート

このubuntu16.04日本語版をデュアルブートさせました。このサイ 続きを読む …

OS・サーバ

UbuntuにzshとvimとGoを設定する

zshはoh-my-zshというのを使います。vimはdeinでプラグ 続きを読む …

%d人のブロガーが「いいね」をつけました。