好記性不如爛筆頭(sed的實用記錄)

2021-07-24 16:42:43 字數 1007 閱讀 2596

sed用於檔案的快速簡易修改:

sed -e 『s/查詢目標字串/新字串/g』 filename

:使用-e選項,只是將修改後的檔案列印到螢幕上,適合用於實際修改前的測試用

sed -i 『s/查詢目標字串/新字串/g』 filename

:使用-i選項,直接修改目標filename檔案

樣例1:

位於/usr/bin/ypm/sntp.conf檔案內容如下:

cycle_time 3600

broad_min_time 120

udp_local_port 123

serv_addr 132.16.12.215

time_offset -4

debug 0

sed -i 's/serv_addr [0-9]*.[0-9]*.[0-9]*.[0-9]*/serv_addr 192.168.1.255/g' /usr/bin/ypm/sntp.conf

注意:內嵌linux的system中呼叫時,請先用if(0 == access("/usr/bin/ypm/sntp.conf",0))判斷一下目標檔案是否存在。

樣例2:

位於/usr/bin/ypm/sntp.conf檔案內容如下:

cycle_time 3600

broad_min_time 120

udp_local_port 123

serv_addr 132.16.12.215

time_offset -4

debug 0

目標:需要將time_offset -4這行的-4或者無符號的數值匹配到,也就是說『-』可有可無,可能是-3、-12、123、23,則命令如下:

sed -e 's/time_offset [-]*[0-9]*/time_offset 12/g' ./sntp.conf 

解釋:[-]*[0-9]*表示『-』可能有0個或多個,[0-9]*也是0個或多個

注意:[0-9]後一定要加*,否則出現非各位資料時會只匹配到第一位數字

好記性不如爛筆頭

一轉眼走過了三年的程式設計師生涯,回想這三年我學到了什麼,掌握了什麼,運用到什麼,腦海裡竟沒有乙個整體的框架。還記得曾經剛找工作時,一位hr 也是我進的第一家公司的hr 問過我 你怎麼看待程式設計師這個稱呼?我當時覺得程式設計師程式設計師不過是乙份職業的稱呼罷了,這份職業只是為了去解決客戶的需求,就...

好記性不如爛筆頭

作為很多剛踏入程式設計領域的童鞋來說,老師連珠炮式的講述方式,完全不認識的 書寫格式以及 運用規範,讓不少初學者大腦充斥著中文和無數的英文本母,課後整理就成了非常重要的工作之一。雖然課後整理非常重要,但提前是你將要整理的是什麼?很多童鞋在學習過程無法從整堂課中提取重要內容更甚者完全不知道何為重點且無...

linux ps 命令好記性不如爛筆頭

linux的命名好多好多,啃下一本書,長時間不用也會忘記。還是老話,好記性不如爛筆頭。ps aux grep python ps ef grep python 上面兩個是我常常使用的ps命令。ps process status 用來列出系統中當前執行的那些程序。但是這裡要注意ps 和top 的區別。...