Sed:使用Sed終端命令學習Shell腳本

Sed:使用Sed終端命令學習Shell腳本

Sed:使用Sed終端命令學習Shell腳本

命令“ sed” 在GNU / Linux類型的自由操作系統中,它是一個非常通用的命令,因為反過來 它被認為是面向“流”而不是典型的“交互”的文本編輯器,因為它接受文件或標準輸入作為輸入,然後處理每一行並將結果發送到標準輸出。 也就是說, SED(流EDitor)使我們能夠基於一系列命令或命令文件來修改文件不同行的內容。

通常,命令“ sed”用作過濾器,因為它會讀取數據條目的每一行,然後執行通常讀取,提取,修改,顯示或保存的請求的操作。 雖然它的力量是如此 此外,它還使我們能夠以舒適的方式刪除行,記錄或替換文件行中的字符串。

“ sed”命令簡介

已經在之前的其他出版物中 DesdeLinux 我們已經討論並展示了有關使用所述命令的範例,例如: 如何從文件中刪除特定行... y 帶終端:使用正則表達式II:替換,因此這次我們將直接看到更高級的示例,並且是使用它的一些實際示例。

基本上,命令“ sed”具有以下語法:

sed comandos_sed archivo

哪裡 “ Command_sed” 對應於關於如何處理從中讀取的行的一項或多項規範 “存檔”。

更廣泛的使用使我們有了以下語法:

sed [-ns] '[direccion] instruccion argumentos'

其中:

SED命令用法格式

實際例子

列出路徑中的文件/文件夾

有用的命令行,可用於列出指定的X路徑的內容,然後檢測/計數/過濾搜索到的項目並指示要執行的後續操作。

ls -l | awk '{ print $NF }' | sed 1d

例如:

例1:SED命令-Shell腳本

使用“ sed”命令的另一個變體非常有用:

find /opt/MilagrOS/file-apps/fondos_pantalla/ -type f | sed 's/^\.\///g' | xargs -n 1 basename

示例4:用於Shell腳本的SED命令

創建一個數字序列

在屏幕上顯示或將創建的數值序列(或任何其他輸入)保存在文件中,但以水平(線性)而非垂直的方式保存,以後可以為其他過程讀取。

seq 100|tr '\n' ' '|sed 's, $,\n,g'

示例2:用於Shell腳本的SED命令

可以通過組合命令«口渴”“ Printf” 如下所示:

printf '%s ' {1..100}|sed 's/ $/\n/'

示例3:用於Shell腳本的SED命令

刪除帶有排除項的文件

檢查文件系統路徑以查找要排除的文件模式,然後刪除其餘內容。 對於精確和仔細的清潔非常有用。

find /opt/MilagrOS/file-apps/fondos_pantalla/ -type f | sed -e '/.*\.txt$/d' -e '/.*\.exe$/d' | xargs rm

示例5:Shell_Scripting的SED命令

創建一個虛擬MAC地址

當瀏覽危險站點或執行黑客任務時,此步驟對於計算機安全或保護任務很有用。

MAC=`(date; cat /proc/interrupts) | md5sum | sed -r 's/^(.{10}).*$/\1/; s/([0-9a-f]{2})/\1:/g; s/:$//;'` ; echo $MAC

結合使用“ sed”命令和其他命令可以達到相同的效果,如下所示:

openssl rand -hex 6 | sed 's/\(..\)/\1:/g; s/.$//'
od -An -N10 -x /dev/random | md5sum | sed -r 's/^(.{10}).*$/\1/; s/([0-9a-f]{2})/\1:/g; s/:$//;'
od /dev/urandom -w6 -tx1 -An|sed -e 's/ //' -e 's/ /:/g'|head -n 1

例如:

示例7:用於Shell腳本的SED命令

臨時更改終端提示

這可以幫助我們在提示中臨時插入參數,這些參數在我們執行特殊活動時可能對我們有用。 在此示例中,我們將僅更改提示的顯示方式。

export PS1="C:\$( pwd | sed 's:/:\\\\\\:g' )\\> "

例子8. Shell腳本的SED命令

管理“ ps”命令的輸出

非常實用的命令順序,用於格式化《 ps》命令的輸出,即從終端進程管理器中獲取的命令。

sudo ps -e -o pcpu,cpu,nice,state,cputime,args --sort pcpu | sed "/^ 0.0 /d"

例如:

示例9:用於Shell腳本的SED命令

可以根據消耗的內存百分比將其應用於進程:

sudo ps -e -o pmem,nice,state,cputime,args --sort pmem | sed "/^ 0.0 /d"

這些命令行示例使用命令“ sed”,希望您發現它非常有用。 它們可以直接從控制台使用,也可以通過將其插入腳本(自動任務)間接使用。

在關於Shell腳本的下一篇文章中,我們將探索其他命令。

如果您想了解有關“ sed”命令的更多信息,請訪問此鏈接“Unix和Linux教程和簡要指南“要么”基本用途»並且如果您想在我們自己的博客中了解有關Shell腳本的更多信息,您可以通過單擊此處查看我們在該主題上的其他出版物: 腳本編寫 DesdeLinux.


發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  1. 負責數據:MiguelÁngelGatón
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。