如何在unix中利用sed修改部分內容?

時間 2021-05-11 17:04:12

1樓:零五

比方檔名是aa.txt,如果是命令輸出的,將命令結果轉向輸出到aa.txt

保留hour簡單

sed -i 's/:[0-9][0-9]:[0-9][0-9]//g' aa.txt

ERROR替換的話,根據你的檔案要分兩步,先將檔案中的列數固定了,否則不好獲取替換的內容,按照你上面的輸出的規則,先替換「ERROR」為「,ERROR」,確保每一行都是以逗號分割,且每行的列數都是相同的,命令如下,直接修改原始檔了。

sed -i 's/ERROR/,ERROR/g' aa.txt

然後就是替換,比較複雜,感覺有這個空還不如直接寫程式了,特別是初學的:

awk -F ',' 'BEGIN

' aa.txt

主要思路,linux行處理用sed,列處理用awk,由於你要替換的上一行中的相應位置,所以就要用到awk了(想破了腦袋都沒相出sed該怎麼處理),首先迴圈中記錄下不包含ERROR的行(變數lastline),然後就是對一行中的每列做處理,記錄下ERROR的列號(column),然後用上一行中的相應列號對應的資料替換(用split處理到陣列lastcolumn),就可以了,把上述命令放到shell檔案中執行,否則直接命令列不好輸入。

如果想要覆蓋本檔案,就加轉向輸出到本檔案,命令後面新增 >aa.txt 就可以了,但最好是保留原始檔,轉向到乙個新檔案。

git 中如何撤銷部分修改?

陳東澤 Git常用的撤銷操作 之前的總結希望可以幫到你A untracked 未跟蹤 A tracked 已跟蹤未修改 A modified 已修改未暫存B staged 已暫存未提交 C committed 已提交未PUSHA B git add B A git rm cachedA A git ...

如何在 Linux 環境下利用 Python 監聽當前系統的滑鼠事件?

曾華山 linux下好辦,所有的裝置都當作檔案處理了,在 dev input 目錄下找到滑鼠對應裝置檔案讀出來即可。滑鼠裝置檔案是 dev input mice 讀3個位元組,三個位元組的值分別是 Button型別 X的相對位移 Y的相對位移 取Button的低3位 Button 0x07 0x01...

居家生活中書房利用率非常高,如何在室內設計中做出漂亮的書房?

喵七七 嗨 我是偉天可愛的喵七七,我又來啦!一 辦公書架式 如果家中有人需要在日常生活的同時,兼顧工作或學習上的要求,那麼在1 的書房設計上,可以採取經典的書架形式 只需要在牆面裝上幾個擱板,加上一套桌椅,就能解決你的需求。這樣偏工作化的地方,難免會需要紙筆 電腦等物,乙個一體式的小書桌值得考慮喲 ...