Linuxでの複数ファイル内文字列の一括置換メモ

Linux上でのファイル内の文字列検索と、ファイル内文字列の一括置換をググってたら下記のURLがすごく参考になったのでメモメモ。

Linux上で複数ファイルから文字列を一括検索/置換するコマンド – スーパーソフトウエア 世界最強のホットテクノロジー – アプリ開発
http://tokyo.supersoftware.co.jp/superlabs/2012/07/261755.html

以下、引用。

#複数ファイルから文字列を一括検索
find ./ -type f -print | xargs grep -l ‘hoge’
‘hoge’が含まれているファイルを検索

#複数ファイルから文字列を一括置換
find ./ -type f | xargs sed -i ‘s/hoge/hage/g’
ファイル内の’hoge’を’hage’に置換

んで、実際に置換しようとしたところ、ファイル内に「/(スラッシュ)」がいくつも存在していたために

「sへのオプションが未知です」

というエラー。

そこでさらにググると下記URLに解決方法が。

sed – Sed Wiki*
http://wikiwiki.jp/sed/?sed

別に区切り文字は「/」で無くてもいいみたい。
というわけで「%」を区切り文字にして一括置換すると無事解決。

複数ファイルから文字列を一括置換(区切り文字を’%’に変更)
find ./ -type f | xargs sed -i ‘s%hoge%hage%g’

いつもはその都度ググってたので、今後の参照用にブログにメモメモ。

サーバ復活!サーバ復活!

昨日一日落ちっぱなしだった当サーバを直すついでにメモリを1Gから8Gに増やしました。
32bitCPUなのでkernelPAE入れました。

そんで改めて確認してみたら最大でメモリを3.8Gまで消費していることが判明。
そりゃスワップも食いつぶされてサーバ落ちます。

さすがに8G全部が消費されることは無いと思うのでしばらくは安泰ですかね。

               / ̄ ̄\
              /  !、_ 八\  1G → 8G に増設やでぇ!
             (●)(● ))⌒ |  見てみぃ!カッチコチやで!
             (__人__)     |  カッチコチやで!
.               (,`⌒ ´      |
              {         ト、_____
              {       ..:.::::::|ヽ、   ̄`ヽ、
              人     .:.:.:::::ノ:!::. :. . ……….:::=≧=‐- 、
             _/ .:ヽ :i::::::::/.: /:::’:.. .:..,. ”. ::     . :.:.:`ヽ
      , –―’´;.:.、… .: .:i :i::/:  .:::..:,.‐””.    .      .:、  :.:::}
     /   . :.:.ノ:. ..\.ヽヽ:  , -‐”´ ..::: ..    :     .::l . :.:.::|
   /   . .:.:.:./:.     `ヽ、::/     .:::、:.. .. . :.  :.  .::i …:.:∧
    |  . . .:.:.:;イ::      .:i::.       . .::`”‐-=、ヽ、.:.. . .:: .:ノ: :!
  /{::. : : .: ‘´.:.i::.       . :|:      . .:: :.::::::::::::/゙”ヽ、:..:.::´::..: :|
  ,’ `: :…:.:.:.::.::;!::.. .    .:.:|:     . . . :: :.:.:::::::::{::. .::;’`:‐ .::.: ;!:|.
 {   :. `””゙´|:::.:.:. : . . . .:::l::. . . . .. .. .:.::..:.:::::::::::|::. . ::i   ..:::iく ::|
  {:.:.. .:.. . .:.:::ト、:.:.. . .  . .:.:;!、::.. . . . … .:.::..:::::::_;;.ゝ、..:|  ..:ノ :. ヾ.
 /`”’  、,,,___:ノ \::. :…..:.:ノ::..`’ー::…..;;;_;;:.-‐”….:…:::,>’=、  .::i :.::}
. {:.:. .   ___\   ` ‐-=、:::.:.. ..::r ー-=、…..:…::..::::/      . .:::! :; ::|
 !ー: . /:::___;>┐    \:.. :! ,.-―:‐、:: ,,.:‐”´    . . :__;ノ.イ.:.:|
 ’;.:../:::::/´、   ̄)ヽ. _,r―‐亠- 、!::::::::::::::|「:     . . – ”’´. : :丿.:/

※kernelPAE
32bitのCPUでも4G以上のメモリを認識できるようになるカーネル。
最大64Gくらいまで認識するらしいですが、あまり多く載せすぎるとCPUの負担にもなるそうです。
詳しくは下記参照。

物理アドレス拡張 – Wikipedia
http://ja.wikipedia.org/wiki/%E7%89%A9%…