文字處理sed 實踐

2021-10-06 05:12:35 字數 2654 閱讀 5003

利用sed 取出ifconfig命令中本機的ipv4位址

[root@oracle ~]

# ifconfig eth7

eth7 link encap:ethernet hwaddr 00:50:56:85:6e:a1

inet addr:192.168.97.164 bcast:192.168.99.255 mask:255.255.252.0

inet6 addr: fe80::250:56ff:fe85:6ea1/64 scope:link

up broadcast running multicast mtu:1500 metric:1

rx packets:245005 errors:0 dropped:0 overruns:0 frame:0

tx packets:43923 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

rx bytes:20393259 (19.4 mib) tx bytes:7139695 (6.8 mib)

[root@oracle ~]

# ifconfig eth7 | sed -n 's/[[:blank:]]\+inet addr://p' | sed -n 's/[[:blank:]]\+.*//p'

192.168.97.164

2、刪除/etc/fstab檔案中所有以#開頭,後面至少跟乙個空白字元的行的行首的#和空白字元

[root@oracle ~]

# cat -ne fstab

1 $2 #$

3 # /etc/fstab$

4 # created by anaconda on mon aug 20 21:59:28 2018$

5 #$

6 # accessible filesystems, by reference, are maintained under '/dev/disk'$

7 # see man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info$

8 #$

10 uuid=505a699b-f58c-447b-bb11-4d64af25a5e5 /boot ext4 defaults 1 2$

12 tmpfs /dev/shm tmpfs defaults 0 0$

13 devpts /dev/pts devpts gid=5,mode=620 0 0$

14 sysfs /sys sysfs defaults 0 0$

15 proc /proc proc defaults 0 0$

[root@oracle ~]

# sed 's/^#[[:blank:]]\+//' fstab

#/etc/fstab

created by anaconda on mon aug 20 21:59:28 2018

#accessible filesystems, by reference, are maintained under '/dev/disk'

see man pages fstab(5), findfs(8), mount(8) and/or blkid(8)

formore info

#uuid=505a699b-f58c-447b-bb11-4d64af25a5e5 /boot ext4 defaults 1 2

tmpfs /dev/shm tmpfs defaults 0 0

devpts /dev/pts devpts gid=5,mode=620 0 0

sysfs /sys sysfs defaults 0 0

proc /proc proc defaults 0 0

[root@oracle ~]

#

處理/etc/fstab路徑,使用sed命令取出其目錄名和基名

[root@oracle ~]

# dirname /etc/fstab

/etc

[root@oracle ~]

# find /etc -name fstab | sed 's/\/fstab$//'

/etc

[root@oracle ~]

# find /etc -name fstab | sed 's@/.*/@@'

fstab

linux 文字處理sed

ed與sed的區別 sed是從ed發展來的,ed是針對當前行進行操作 sed是面向字元流的。sed和ed的應用定址有很大的區別。在ed中沒有指定位址的命令只影響當前行。sed遍歷檔案,每次讀取一行,這樣每行都是當前行,每行都應用這個命令,結果是sed對檔案中的每一行都應用了ed中沒有位址的命令。如s...

文字處理之SED

高階編輯命令 stream editor,行編輯器 sed是一種流編輯器,它一次處理一行內容。處理時,把當前處理的行儲存在臨時 緩衝區中,稱為 模式空間 pattern space 接著用sed命令處理緩衝區中的 內容,處理完成後,把緩衝區的內容送往螢幕。然後讀入下行,執行下乙個迴圈。如果沒有使諸如...

文字處理工具sed

sed全稱叫stream editor,是一種流編輯器,它一次處理一行內容。處理時,把當前處理的行儲存在臨時緩衝區中,稱為 模式空間 patternspace 接著用sed命令處理緩衝區中的內容,處理完成後,把緩衝區的內容送往螢幕。然後讀入下行,執行下乙個迴圈。如果沒有使諸如 d 的特殊命令,那會在...