Linuxsed在某一行前面、後面追加(轉載)
如果知道行號可以用下面的方法
sed -i `88 r b.file` a.file
在a.txt的第88行插入檔案b.txt
awk `1;NR==88{system(“cat b.file”)}`
a.file > a.file
如果不知道行號,可以用正則匹配
sed -i `/regex/ r b.txt` a.txt # regex是正規表示式
awk `/target/{system(“cat b.file”)}`
a.file > c.file
sed的話如果不改變原始檔,可以去掉-i開關,修改會輸出到STDOUT
原檔案:
[root@xiaowu shell]# cat -n file
1 aaaa
2 bbbb
3 cccc
4 dddd
現在要在第二行即“bbbb”行的下面新增一行,內容為“xiaowu”
[root@xiaowu shell]# sed `/bbbb/axiaowu` file
aaaa
bbbb
xiaowu
cccc
dddd
如果要加兩行“xiaowu”可以用一下語句,注意用“
”換行
[root@xiaowu shell]# sed `/bbbb/axiaowu
xiaowu` file
aaaa
bbbb
xiaowu
xiaowu
cccc
dddd
如果要在第二行即“bbbb”行的上新增一行,內容為“xiaowu”,可以把引數“a”換成“i”
[root@xiaowu shell]# sed `/b/ixiaowu` file
aaaa
xiaowu
bbbb
cccc
dddd
以上檔案中只有一行匹配,如果檔案中有兩行或者多行匹配,結果有是如何呢?
[root@xiaowu shell]# cat -n file
1 aaaa
2 bbbb
3 cccc
4 bbbb
5 dddd
[root@xiaowu shell]# sed `/bbbb/axiaowu` file
aaaa
bbbb
xiaowu
cccc
bbbb
xiaowu
dddd
由結果可知,每個匹配行的下一行都會被新增“xiaowu”
那麼如果指向在第二個“bbbb”的下一行新增內容“xiaowu”,該如何操作呢?
可以考慮先獲取第二個“bbbb”行的行號,然後根據行號在此行的下一行新增“xiaowu”
獲取第二個“bbbb”行的行號的方法:
方法一:
[root@xiaowu shell]# cat -n file |grep b |awk `{print $1}`|sed -n “2”p
4
方法二:
[root@xiaowu shell]# sed -n `/bbbb/=` file |sed -n “2”p
4
由結果可知第二個“bbbb”行的行號為4,然後再在第四行的前或後新增相應的內容:
[root@xiaowu shell]# sed -e `4axiaowu` file
aaaa
bbbb
cccc
bbbb
xiaowu
dddd
[root@xiaowu shell]# sed -e `4axiaowu
xiaowu` file
aaaa
bbbb
cccc
bbbb
xiaowu
xiaowu
dddd
向指定行的末尾新增指定內容,比如在“ccccc”行的行尾介紹“ eeeee”
[root@xiaowu shell]# cat file
aaaaa
bbbbb
ccccc
ddddd
[root@xiaowu shell]# sed `s/cc.*/& eeeee/g` file
aaaaa
bbbbb
ccccc eeeee
ddddd
相關文章
- css 樣式——後面覆蓋前面CSS
- 絕對可用 頁面載入完在執行某一js--只適合谷歌chromeJS谷歌Chrome
- 在每一行後面新增commit;MIT
- 電腦前面沒聲音後面正常的解決辦法
- Javascript在頁面載入時的執行順序JavaScript
- 等頁面載入完在執行某個操作
- JavaScript在元素尾部追加字串JavaScript字串
- app ui 自動化測試由於前面用例出錯卡在某個頁面導致後面用例執行失敗APPUI
- 讓頁面在指定時間之後跳轉程式碼
- 在session過期後如何跳轉到登入頁面Session
- 陣列進行奇數和偶數操作 把奇數放在陣列前面 偶數放在陣列後面陣列
- [轉載]Web前端和後端之區分,以及面臨的挑戰【轉】Web前端後端
- 頁面載入完畢之後自動執行指定程式碼
- JavaScript在指定元素後面插入元素JavaScript
- 智慧手機行業裁員大潮襲來 挑戰還在後面行業
- 在Oracle中取得某一天前後幾天的字串的方法Oracle字串
- 前端程式設計師市場分析:前面是火海,後面是刀山,走還是不走?前端程式設計師
- python3 執行如下程式碼,前面有效果,後面就出現格式不統一怎麼回事,求大神告知Python
- datagridview設定currentrow為指定的某一行[轉]View
- 轉:複製CSDN的BLOG程式碼,去掉前面行號的方法
- 禁止頁面Body在後臺滾動
- jQuery Mobile頁面跳轉後未載入外部JS原因分析及解決jQueryJS
- 微信小程式——個人中心——view在最前面——一行四個排列微信小程式View
- 在分頁物件資料上追加屬性物件
- scp 在後臺執行
- 如何使用Web3.js API 在頁面中進行轉賬WebJSAPI
- Nohup命令讓Linux下的程式在後臺執行 - 轉Linux
- Mysql:把指定資料行排在前面MySql
- 愚人節的背後:技術在一面打假,一面造假
- 升級到IE6之後在後面補上的不是com而是co.cn--解決方法 (轉)
- 轉載-知乎工作後的經驗
- JavaScript 追加字串JavaScript字串
- 亞馬遜在印度地區追加了2.6億美元的投資亞馬遜
- 數字格式字串轉數字保留後面0字串
- 取得某一dll所有輸出函式名 (轉)函式
- Qt 判斷滑鼠在某一控制元件上QT控制元件
- redis cluster 強制kill某一個節點和shutdown某一個節點後修復過程Redis
- java 讀取指定某一行的文字Java