功能
在指定目錄下,查找包含指定字符串的文件,並在該字符串上一行插入指定字符串。
操作
待查找字符串:“vendor_available”
待處理目錄:frameworks
我們想要在該目錄所有包含該字符串的文件中後面添加一些內容,內容字符串爲“asdfadf”,做法如下:
grep “vendor_available” -r .|cut -d ":" -f1 |xargs -n1 -i sed -i ‘/vendor_available/ i asdfadf’ {}
說明
(1)grep “vendor_available” -rn . 查找匹配字符串的文件,-r是遞歸。
(2)cut -d ":" -f1 提取出文件名,-d 指定分隔符 -f指定分隔後的第幾個。
(3)xargs 將每一個文件名進行sed插入,-n1是每次取一個文件,第一個-i 是屬於xargs命令,用於參數替換,使得{}擴展成文件名;第二個-i是sed命令用於指定要插入的文件,/內容/用於sed命令匹配字符串 i表示插入。