平成30/ 2018-10-23 22:00
Linux/ Grep,Replace/ 一括置換


1.対象を確認
find */admin_lp/c_edit.html -print | egrep '\.html$' | xargs grep '\["width"\] = "110";'

    find -type f してもディレクトリを評価してしまうので、egrep '\.html$' している。


2.まずは一枚やってみる。
find ahirunoseikotsuin/admin_lp/c_edit.html -print | xargs grep '\["width"\] = "110";'
find ahirunoseikotsuin/admin_lp/c_edit.html -print | xargs sed -i.20110531_1221 's/\["width"\] = "110";/\["width"\] = "165";/g'

3.対象のファイルを確認する
find */admin_lp/c_edit.html -print | xargs grep -l '\["width"\] = "110";'

4.置換する(バックアップが作成されるので安心)
find */admin_lp/c_edit.html -print | xargs grep -l '\["width"\] = "110";' | xargs sed -i_20110531_1221 's/\["width"\] = "110";/\["width"\] = "165";/g'

//----findを使わない場合は、フルパスでかかないとダメ!
//対象を確認する。
grep href=\"/contact/\" /home/usr/*/*/*.html

//パスを確認
grep -l href=\"/contact/\" /home/usr/*/*/*.html

//置換する
grep -l href=\"/contact/\" /home/usr/*/*/*.html | xargs sed -i_20110801_1652 's/href=\"\/contact\/\"/href=\"\/consultation\/\"/g'
//----