linux 批量在指定字符串下一行插入數據

功能

在指定目錄下,查找包含指定字符串的文件,並在該字符串上一行插入指定字符串。

操作

待查找字符串:“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表示插入。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章