sed工具 介紹

sed工具
地址定界
不給地址:對全文進行處理
單地址:
#:指定行
/pattern/:被此處模式所能夠匹配到的每一行
地址范圍:
#,#
#,+#
/pat1/,/pat2/
#,/pat1/
~:步進
1~2 奇樹行
2~2 偶數行
cat -n passwd >passwd2 新建文件
sep -n ‘/^h//^s/’ passwd
sep 10
sep 10| sed ‘1~2p’
sep 10 |sed -n ‘1~2p
cat passwd2 |sed -n ‘2~2p’
sed工具
編輯命令
d:刪除模式空間匹配的行
p:顯示模式空間的內容
a [\]texe:在指定行后面追加文本
支持使用\n實現多行追加
i[\]text:在行前面插入文本
c[\]text:替換行為單行或多行文本
w /path/somefile:保存模式匹配的行至指定文件
r /path/somefile:讀取指定文件的文本至模式空間中匹配到的行后
=:為模式空間中的行打印行號
!:模式空間中匹配行取反處理
奇數行
sep 10 |sed -n ‘1~2p’
sep 10 |sed ‘2~2d’
sep 10 |sed -n ‘2~2!p’
sed工具
s///:查找替換,支持使用其它分隔符,s@@@,s###
替換標記:
g:行內全局替換
p:顯示替換成功的行
w /PATH/TO/SOMEFILE: j將替換成功的行保存至文件中
sed示例
sed ‘2p’ /etc/passwd 打印第二行 別的行業打印
sed -n ‘2p’ /etc/passwd 只打印第二行
sed -n ‘1,4p’ /etc/passwd 打印一到四行
sed -n ‘/root/p’ /etc/passwd 包含root打印
sed -n ‘2,/root/p’ /etc/passwd 從2行開始 第一行開始
sed -n ‘/^$/=’ file 顯示空行行號
sed -n -e ‘/^$/p’ -e ‘/^$/=’ file 打印本身 打印行號
sed ‘/root/a\superman’ /etc/passwd 行后
sed ‘/root/i\superman’ /etc/passwd 行前
sed ‘/root/c\superman’ /etc/passwd 代替行
取ID
ifconfig etho | sed -e ‘s/.*inet addr://’ -e ‘s/ B.*//’ -n -e 2p
搜索替代
ifconfig etho |sed -n 2p|sed -e ‘s/.*r://’ -e ‘s/ B.*//’
取基名
echo /etc/sysconfig/network-scripts/ |sed -r ‘s@(^/.*/)([^/]+/?)@\2@’
取目錄名
echo /etc/sysconfig/network-scripts/ |sed -r ‘s@(^/.*/)([^/]+/?)1@\1@’
對/etc/fstab非#開頭的加注釋
sed -r ‘s/(^[^])/#\1/’ etc/fstab
sed -r ‘s/^[^#]/#&/’ /etc/fstab
sed工具
高級編輯命令:
h:把模式空間的內容覆蓋至保持空間中
H:把模式空間中的內容追加至保持空間中
g:從保持空間取出數據覆蓋至模式空間
G:從保持空間取出內容追加至模式空間
x:吧模式空間中的內容與保持空間中的內容進行互換
n:讀取匹配到的行的下一行覆蓋至模式空間
N:讀取匹配到的行的下一行追加至模式空間
d:刪除模式空間中讀的行
D:刪除當前模式空間開端至\n的內容(不再傳至標準輸出),放棄之后的命令,但是對剩余模式空間重新執行sed
sed示例
sed -n ‘n:p’ FILE
sed ‘1!G:h:$!d’ FILE
sed ‘$!N”$!D’ FILE
sed ‘$!d’ FILE
sed ‘G’ FILE
sed ‘g’ FILE
sed ‘/^$/D:’ FILE
sed ‘n:d’ FILE
SED -N ‘1!g:H:$P’ FILE
偶數行
seq 10|sed -n ‘n:p’
倒序
seq 10 |sed ‘!!G:h:$!d’
只保留最后兩行
seq 10|sed ‘$!N:$!d’

原創文章,作者:wangqiang,如若轉載,請注明出處:http://www.www58058.com/77282

(0)
wangqiangwangqiang
上一篇 2017-05-31
下一篇 2017-05-31

相關推薦

  • 用戶權限管理

    描述: 用戶在系統上的操作受到權限的約束,例如對文件或者目錄進行查看、修改、復制、刪除等操作時,由文件或者目錄對應的操作的權限所決定的。 在root的家目錄下創建一個普通文件和目錄并查看其屬性: [root@localhost ~]# echo 123 > file1 [root@localhost&n…

    Linux干貨 2016-08-04
  • mongodb的復制集實現

    簡介:  mongodb有兩種類型的復制,第一種是同于MySQL的主從復制模式,第二種是復制集,提供了自動故障轉移的主從復制集群。其中復制集沒有固定的主節點,當一個主機的故障后從節點會重新“選舉”出一個新的主節點,從而提高的系統的可用性 一、實驗環境: (1)各節點信息: node1: 172.16.2.12 node2: 172.16.2.13 …

    Linux干貨 2015-09-05
  • php 設計模式-數據映射模式(應用程序與數據庫交互模式)

    前面提到的設計模式大大提高了代碼的可讀性與可維護性。然而,在WEB應用設計與開發中一個基本的需求與挑戰:數據庫應用,這些設計模式都沒有涉及到。數據映射模式使您能更好的組織你的應用程序與數據庫進行交互。 下面我將用實際代碼說明,如果一個表發生變動。我們要修改客戶端代碼就可以了。特別是游戲項目,需求經??赡軙洺W儎印P薷谋斫Y構,可能引起大片代碼的改動。 首先我…

    Linux干貨 2015-04-07
  • 詳解用戶,組,權限管理

    詳解用戶,組,權限管理 M21-陸東貴 測試環境:CentOS 7.2 內容介紹: 我們要使用操作系統進行工作,就需要人機交互操作,這時候計算機就需要創建用戶,通過用戶來實現操作,而且隨著用戶的增加需要給用戶分組,這時候就需要對文件進行權限管理。 需要使用的工具:       用戶相關工具:useradd; …

    Linux干貨 2016-10-25
  • Linux系統自動化安裝基礎

    Linux系統自動化安裝基礎 安裝程序CentOS系統安裝系統啟動流程:bootloader–>kernel(initramfs)–>rootfs–>/sbin/init注意:安裝過程中與啟動過程中的文件不同 anaconda系統安裝程序tui: 基于圖形庫curses的文本窗口gui:圖形窗口 安裝程序…

    Linux干貨 2016-10-08
  • 第八周-Shell腳本編程

    1、寫一個腳本,使用ping命令探測172.16.250.1-172.16.250.254之間的所有主機的在線狀態; 在線的主機使用綠色顯示; 不在線的主使用紅色顯示; #!/bin/bash for i in {1..254}; do { ip=172.16.250.$i if ping -c 1 -w 1 $ip &> /dev/null …

    Linux干貨 2017-08-23
欧美性久久久久