您好,登錄后才能下訂單哦!
這篇文章主要介紹了sed有什么用,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
管道命令sed是一個很好的文本處理工具,主要以行為單位進行處理,可以將數據進行替換、刪除、新增、選取等。sed可以處理標準輸入內容或者文件,可以輸出標準輸出或輸出到文件。sed的一般使用規則如下:
sed -nefri '動作命令' 文件或輸入
參數設置:
-n:使用安靜(silent)模式。在一般sed的用法中,所有來自STDIN的資料一般都會被列出到屏幕上。但如果加上-n參數后,則只有經過sed特殊處理的那一行(或者動作)才會被列出來。
-e:直接在命令行模式上進行sed的動作編輯;
-f:直接將sed的動作命令寫在一個檔案內,-ffilename則可以執行filename內的sed動作;
-r:sed動作支持的是拓展正規表示法的語法(默認基礎正規表示法語法)。
動作命令:
a:新增,a后可以接字串,這些字串會在新一行出現(目前的下一行);
c:替換,c的后面可以接字串,這些字串可以取代n1、n2之間的行!
d:刪除,因為是刪除啊,所以d 后面通常不接任何東西;
g:全局,表示動作命令在行內全局執行,也即如果行內有多個關鍵字,全部刪除或替換;
i:新增,i后可以接字串,這些字串會在新一行出現(目前的上一行);
p:打印,亦即將某個選擇的資料印出,通常p會與參數sed-n一起運行;
⑴新增與刪除功能
sed可以以行為單位按照行號進行刪除,例如列出文件內容打印行號并刪除第2-5行:
可以看到標準輸出的內容少了2-5行,最后一行可以使用“$”代指。這里省略了-e,也即默認就是在命令行模式,還可以根據關鍵字進行刪除,例如刪除含有“CHEN”的行:
但是這時文件的內容并沒有被更改,如要是刪除原文件的內容并保存,可以使用-i參數直接對文件執行命令:
這時很明顯的看出兩個新增命令a和i的區別。可以使用“\+回車”來增添多行內容,示例如下:
⑵替換與顯示功能
sed中的動作命令p可以根據行號顯示內容,例如選擇顯示文件中的第5-7行內容:
sed中的動作命令c可以進行整行內容替換,例如將文件第2-4行重復內容替換為“reduplicates”:
sed中的動作命令s可以以行為單位查找關鍵字并進行替換,其中要查找的關鍵字可以搭配正則表達式進行,例如將文件中所有的“:”替換為“;”:
其中g表示全局,也即每一行進行全部替換,若不加g則只替換找到的第一個關鍵字:
sed還可以直接處理文件,在多文庫數據處理時,遇到重復barcode的情況,常需要進行barcode替換,如下所示:
感謝你能夠認真閱讀完這篇文章,希望小編分享的“sed有什么用”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。