[英]How to modify the file content using sed
IP文件1.txt
$ cat 1.txt
'&1'
'&2'
'&3'
如果我想將o / p作為
:1
:2
:3
使用sed(或與此相關的任何命令),我如何實現?
awk '{gsub(/'"^'"'|'"'$"'/,"");gsub(/&/,":")}1' input
:1
:2
:3
在這里, awk
的gsub
函數用於將單引號替換為空白,而另一個gsub用於替換&
來:
1
表示以awk打印。
您可以使用以下2條命令獲得o / p。
-> sed -e'/ 1 / b'-e'/ 2 / b'-e'/ 3 / b'-ed 1.txt或-> gsed'/ 1:2:3 /!d'1 。文本
這樣好嗎
sed -e 's/.*[^0-9]\([0-9]\+\)[^0-9]*$/:\1/' 1.txt
:1
:2
:3
$ cat 1.txt
Monday {'&1', 'Morning', 'Breakfast'}
Tuesday {'&2', 'Noon', 'Lunch'}
Wednesday {'&3', 'Evening', 'Supper'}
Thursday {'&4', 'Night', 'Dinner'}
$ sed -E 's/\x27&([0-9]+)\x27/:\1/' 1.txt
Monday {:1, 'Morning', 'Breakfast'}
Tuesday {:2, 'Noon', 'Lunch'}
Wednesday {:3, 'Evening', 'Supper'}
Thursday {:4, 'Night', 'Dinner'}
\\x27&
匹配單引號和&
(請參閱ASCII設置以供參考) ([0-9]+)
捕獲數字以進行反向引用 \\x27
匹配單引號 :\\1
將匹配的模式替換為:
和捕獲的數字 sed
版本使用-r
代替-E
來擴展正則表達式選項
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.