整理源文件技巧:批量替換

批量改舊文件就是麻煩呀,我寫了腳本來幫忙


1)找到所有非 binary 的源文件

 find -type f -exec grep -Il . {} \; 〉tochange.list


grep 參數

 -l 不輸出內容,而輸出文件名

 -I 把 Binary 當作不匹配文件


find -exec

 {} 代表找到的每一個String 

\; 大概是轉義給 find 用的 ;


2) 把含有 $Id 的一行去掉

cat  tochange.list  | while read line; do  cat "$line" | grep -v '$Id' > txt; mv txt "$line"   ; done

(刪掉臨時文件:  find -name "txt" | xargs rm )


3) 把 2013  2012-2014 等都替換爲 2015

cat tochange | while read line; do  sed -i '1,5s/20[^ ]*/2015/'  "$line"   ; done

發佈了174 篇原創文章 · 獲贊 14 · 訪問量 68萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章