Linux三大劍客之sed(上)

2021-01-08 GeekDevOps

3.2 命令行選項

完整格式調用sed:

sed OPTIONS... [SCRIPT] [INPUTFILE...]sed可能被以下命令行選項調用: --version:列印版本信息。

--help:列印簡要幫助信息並退出。

-n、--quiet、--silent:只輸出明確處理過的內容。

-e script 、--expression=script:指定腳本。

-f script-file、--file=script-file:指定腳本文件。

-i[SUFFIX]、--in-place[=SUFFIX]:在原文件上修改並取代原文件。這一選項暗含-s。

-l N、--line-length=N:指定「l」命令的換行期望長度。長度為0則意味著不含長換行。如果不指定,則換行長度為70。

--posix:GUN sed包含了幾個擴展POSIX sed。為了簡化書寫這些便攜腳本,這個選項禁用了這個手冊所有的擴展以及附加命令。擴展中被POSIX執行的外部語法大部分接受sed程序,但是以上這些中的一些(例如在報告bug中的N命令描述的行為)事實上違反了標準。如果你需要禁用後期的擴展,你可以設置POSIXLY_CORRECT 變量為以非空值。

-b、--binary:這個選項在每個平臺都是可用的,僅僅在作業系統中區分文本文件與二進位文件起到作用。

--follow-symlinks:這個選項僅在支持符號連接且對選項-i被指定有影響的情況下可用。在這種情況下,如果被指定文件在命令行中是一個符號連接,sed將跟隨連接並編輯連接的最終目標文件。默認行為是中斷符號連接,因此連接目標將不被修改。

-E、-r:擴展正則表達式。

-s、--separate:在上文中已經舉過例子,當處理多個輸入文件,一般會被合併成一個文件來處理。使用這個選項則可以讓sed把各個文件分開單獨處理。

--sandbox:沙盒,在沙盒模式,e/w/r命令被拒絕-如果程序包含它們則還沒運行時它們將丟棄。沙盒模式確保了sed在輸入文件上的操作運行在指定的命令行上,而不能運行在外部命令上。

-u、--unbuffered:從輸入文件讀取最少的數據,更頻繁的刷新輸出。這將特別有用,特別像在tail -f這種情況下,能夠讓我們儘快地看出輸出結果。

-z、--null-data、--zero-terminated:把輸出看作一個一個被0位元組(如:ASCII中的「NULL」)的中斷符代替新行的集合。這個選項常和「sort -z」和「find -print0」一起使用。

3.3退出狀態

0:成功結束。

1:無效命令、無效語法、無效正則表達式、無效的帶--posix的sed擴展命令

2:一個或多個被指定的輸入文件不能在命令行中被打開。

4:I/O錯誤或運行時一個嚴重進程錯誤,GUN sed 被立即終止。

相關焦點

  • Linux常用命令 - sed
    查找和替換字符串sedsed 有幾個版本,它們之間有一些函數上的差異。Macos 使用的是 BSD 版本,而且大多數 Linux 發行版默認都預裝了 GNU。下面默認的是 GNU 版本。默認情況下一行一行地讀取文件,只更改第一次出現的SEARCH_REGEX,當提供替換標誌時,所有出現的情況都將被替換INPUTFILE 要在其上運行命令的文件名最好在參數周圍加上引號,這樣 shell 元字符就不會擴展。
  • Linux 三劍客之 Sed
    Linux sed 命令是利用腳本來處理文本文件。在sed的一般用法中,所有來自文件中的數據都會被列出到屏幕上,如果加上-n,則只有經過sed特殊處理的那行(或操作)才會被列出來。-n &39; test.txt-e :直接下命令行模式上進行sed的動作編輯。
  • 詳解Linux sed 命令語法、以及經典50例
    基礎知識要求:了解linux正則、管道符、cat命令sed實例介紹 sed是GNU / Linux的有用的文本處理功能。sed的完整形式是Stream Editor。通過使用sed命令可以很容易地完成許多類型的簡單和複雜的文本處理任務。
  • Linux之sed命令詳解
    sedsed是一個很好的文件處理工具,本身是一個管道命令,主要是以行為單位進行處理,可以將數據行進行替換、刪除、新增、選取等特定工作,下面先了解一下sed的用法sed命令行格式為:sed [-nefri] 『command』 輸入文本
  • linux三劍客-sed
    它能執行與編輯器vi和ex相同的編輯任務,使用者只能在命令行輸入編輯命令、指定文件名,然後在屏幕上查看輸出。sed編輯器沒有破壞性,它不會修改文件,除非使用shell重定向來保存輸出結果。默認情況下,所有的輸出行都被列印到屏幕上。2.sed工作流程sed編輯器逐行處理文件(或輸出),並將輸出結果發送到屏幕。
  • linux sed 示例總結
    sed [-Options] [『Commands』] filename;sed工具默認處理文本,文本內容輸出屏幕已經修改,但是文件內容其實沒有修改,需要加-i參數即對文件徹底修改;x 指定從x到y的行號範圍;/pattern/ 查詢包含兩個模式的行;/pattern/,x 從x號行到與
  • linux系統sed命令基礎
    awksed 文本處理、編輯工具,能夠根據用戶的需求進行修改文本。sed 處理文本的方式: 逐行處理迭代處理, 能夠大大節省內存。語法:sed 參數 '處理方式方法' 要處理的文本-n, --quiet, --silent sed 本身會有自動列印功能,取消自動列印sed -n '1p' 1.txt #1 the lazy dog jump over the red fox.
  • 運用sed命令高效地刪除文件的特定行
    為此,今天這篇文章將帶大家一起學習運用 sed 命令行工具,即使在數據多而雜的情況下也能高效而優雅地刪除文件中的特定行內容。下面是一些 sed 命令的使用示例,覆蓋了大多數的使用場景,由淺入深地幫助你學習 sed
  • Linux sed命令完全攻略(超級詳細)
    但本節要講的 sed 命令不同,它採用的是流編輯模式,最明顯的特點是,在 sed 處理數據之前,需要預先提供一組規則,sed 會按照此規則來編輯數據。sed 命令的基本格式如下:[root@localhost ~] sed &39; data4.txtThis is a test of the trial script.This is the second test of the trial script.
  • sed 命令快速入門
    接上文: Linux 文本操作的三大神器:grep、sed、awk,各自的最佳應用場景:grep:使用正則表達式搜索文本,並把匹配的行列印出來,是強大的文本搜索工具;sed:用於編輯匹配到的文本,是一種流編輯器;awk:能夠對文本進行複雜的格式處理,是一種處理文本的語言。
  • 如何使用Linux sed命令進行字符串替換
    Linux中sed命令功能強大,本文將詳細介紹如何使用sed命令進行字符串替換。一、基本的替換命令格式1:sed 's/原字符串/新字符串/' 文件命令格式2:sed 's/原字符串/新字符串/g' 文件這兩種命令格式的區別在於是否有個「g」。沒有「g」表示只替換第一個匹配到的字符串,有「g」表示替換所有能匹配到的字符串,「g」可以認為是「global」(全局的)的縮寫,沒有「全局的」結尾就不要替換全部,這樣就好記啦。
  • Linux Shell自動化基礎之Grep
    搜索的入口和出口可以對接上管道,搜索別的工具的結構或者把搜索結果傳遞給其他工具用。今天我們就來講Linux Shell下的文本處理三劍客之Grep。為了了解其用法最簡便方法是使用系統幫助和man:grep -hman grep其中man的比較詳細,來自於其幫助手冊,在linux(centos為例)下查詢內置命令幫助手冊的方法是用rpm -qd grep-q表示查詢;-d表示列出其文檔(document):rpm -qd grepgrep基礎在開始之前
  • Linux文本處理三劍客之sed命令全面解析,一文就夠了
    作用sed命令是一個非交互式的行文本編輯器,它能對文件內容進行編輯,默認每次處理文本文件中所匹配到一行內容到模式空間,然後用後面的命令進行操作,操作完成之後,會把模式空間裡面的內容輸出到屏幕上,然後把模式空間中的內容刪除,同時把下一行所匹配到的內容讀入模式空間內,依次循環,直到讀取完整個文件。
  • 《慶餘年》三大劍客結局:謝必安犧牲,而他結局最好
    可以說編劇對小說的改編是極為成功的,觀眾們也對劇中瑰麗的江湖所吸引,但江湖的浪漫還要看劍客,請跟隨小編看看三大劍客的結局!京都第一劍客謝必安,以「快劍」著稱於江湖,出場雖然不多,但冷峻無情為觀眾們留下了很深的印象,他到底有多強?不知道,因為那些強人都死在了他的快劍之下!
  • sed命令(一):入門
    什麼是sedsed全名叫stream editor,流編輯器,用程序的方式來編輯文本sed處理原理sed編輯器逐行處理文件(或輸入),並將結果發送到屏幕。具體過程如下:首先sed把當前正在處理的行保存在一個臨時緩存區中(也稱為模式空間),然後處理臨時緩衝區中的行,完成後把該行發送到屏幕上。sed每處理完一行就將其從臨時緩衝區刪除,然後將下一行讀入,進行處理和顯示。處理完輸入文件的最後一行後,sed便結束運行。sed命令和選項命令:a ——在當前行後添加一行或多行。
  • linux:開發設計人員常用命令介紹
    linux操作命令內容相當豐富,要想全部融會貫通是需要正規的長時間的投入學習。光看幾貼文字是遠遠不夠的。以下是個人工作以來提煉的高頻用到的命令,希望給新入職場的年輕人一些經驗。替換文件中^M由于格式問題造成linux中有^M解決方法一:在windows轉好成linux格式再上傳解決方法二:用vi的替換命令%s/^M/xx/g其中^M是ctrl+V ctrl+M打出來的替換多個文件中的字符串:sed -i "s/要替換內容/最終內容/g" `grep 要替換內容
  • 在Linux命令行內的大小寫轉換
    tr 命令tr (translate) 是能運用在命令行或者腳本上的最簡單的大小寫轉換命令之一。如果你想要確實地修改文檔內容的大小寫,你可以用如下命令完成:$ awk '{print tolower($0)}' depts > depts-$ mv depts- deptssed 命令可以完成和 awk 相同的功能,只是用法上略有不同,其使用方法如下:$ sed 's/[A-Z
  • 軟體測試基礎之linux常用命令
    它除了在伺服器方面保持著強勁的發展勢頭以外,在個人電腦、嵌入式系統上都有著長足的進步。使用者不僅可以直觀地獲取該作業系統的實現機制,而且可以根據自身的需要來修改完善Linux,使其最大化地適應用戶的需要。Linux不僅系統性能穩定,而且是開源軟體。其核心防火牆組件性能高效、配置簡單,保證了系統的安全。
  • Linux命令大全之查看和編輯文件
    linux命令這篇文章,不僅僅是寫給新手學習的,也是寫給我學習Linux的,我在寫這篇文章的時候,也是在學習和了解這些基礎命令,同時留著以後備忘。使用:# 查看 log.txt 第 3 行的內容sed -n '3p' log.txt# 查看 log.txt 第 2-8 行的內容sed -n '2,8p' log.txt# 刪除 log.txt 第 1 行(首行)sed -i '1d' log.txt# 刪除 log.txt 第 3-7 行sed -i '3,7d' log.txt# 刪除 log.txt 最後 1 行(尾行)sed
  • sed命令的基礎知識及簡單應用
    Sed命令對文件的進行增加、刪除、修改和查找操作,所以是學好sed命令是寫自動化腳本必須的基礎之一。sed先讀取(從輸入中讀取某一行),再執行(在某一行上執行sed命令),再再顯示(把結果顯示在輸出中);默認是顯示修改後內容,不會修改原文件,除非使用-i 參數。