Extreme Thinking
grep 找字元含子目錄

2017-08-17


改程式用到

find ./ -type f -name \*.php |xargs grep 姓氏

還可用 -r

grep -r  姓氏 *

更改的記錄一下 :

  1. 找出有 “貴姓” 的檔案
    grep -r  貴姓 > /tmp/a
    
  2. 更名為 .old (在此之前要 vi 一下 … 第一行怪怪的 要拿掉 :$_[‘text_firstname’] 這字元
    catalog/language/zh-tw/mail/register.php:$_['text_firstname']
    catalog/language/zh-tw/mail/affiliate.php
    catalog/language/zh-tw/account/register.php
    catalog/language/zh-tw/account/register.php
    catalog/language/zh-tw/account/address.php
    catalog/language/zh-tw/account/address.php
    catalog/language/zh-tw/account/edit.php
    catalog/language/zh-tw/account/edit.php
    catalog/language/zh-tw/account/return.php
    catalog/language/zh-tw/account/return.php
    catalog/language/zh-tw/affiliate/register.php
    catalog/language/zh-tw/affiliate/register.php
    catalog/language/zh-tw/checkout/checkout.php
    catalog/language/zh-tw/checkout/checkout.php
    catalog/language/zh-tw/api/payment.php
    catalog/language/zh-tw/api/customer.php
    catalog/language/zh-tw/api/shipping.php
    admin/language/zh-tw/sale/order.php
    admin/language/zh-tw/sale/return.php
    admin/language/zh-tw/sale/return.php
    admin/language/zh-tw/user/user.php
    admin/language/zh-tw/user/user.php
    
  3. 將有抓出來的檔 更名為 .old
    cat /tmp/a  | awk '{FS=":";print "mv "$1" "$1".old"}' > /tmp/b
    sh /tmp/b
    
  4. 將 貴姓 換成 姓名
    cat /tmp/a | awk '{print "sed '"'"'s/貴姓/姓名/g'"'"' "$1".old > "$1}' > /tmp/b
    sh /tmp/b
    
  5. 將 old 檔移除
    cat /tmp/a | awk '{print "rm -rf "$1".old"}' > /tmp/b
    sh  /tmp/b