最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Shell中正則表達(dá)式及sed和awk常見問題

 更新時(shí)間:2021年07月27日 09:56:38   作者:一個(gè)小運(yùn)維  
本文主要介紹了Shell中正則表達(dá)式及sed和awk常見問題,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

1 正則表達(dá)式中的+、?、*分別表示什么含義?

這三個(gè)字符用來限制關(guān)鍵詞的匹配次數(shù),含義分別如下:

  • +:最少匹配一次,比如a+可匹配a、aa、aaa等
  • ?:最多匹配一次,比如a?可匹配零個(gè)或一個(gè)a
  • *:匹配任意多次,比如a*可匹配零個(gè)或任意多個(gè)連續(xù)的a

2 如何編寫正則表達(dá)式匹配11位的手機(jī)號?

準(zhǔn)備測試文件:
[root@svr5 ~]# cat tel.txt 
01012315
137012345678
13401234567
10086
18966677788
提取包含11位手機(jī)號的行:
[root@svr5 ~]# egrep '^1[0-9]{10}$' tel.txt 
13401234567
18966677788

3 簡述sed定址符的作用及表示方式。

作用:地址符(執(zhí)行指令的條件)控制sed需要處理文本的范圍;不加定址符則逐行處理所有行
表示方式:地址符可以使用行號或正則表達(dá)式

4 如何使用sed提取文本中的偶數(shù)行?

查看測試文本:

[root@svr5 ~]# cat -n /etc/rc.local 
     1  #!/bin/sh
     2  #
     3  # This script will be executed *after* all the other init scripts.
     4  # You can put your own initialization stuff in here if you don't
     5  # want to do the full Sys V style init stuff.
     6
     7  touch /var/lock/subsys/local

提取偶數(shù)行的操作及效果:

[root@svr5 ~]# cat -n /etc/rc.local | sed -n '2~2p'
     2  #
     4  # You can put your own initialization stuff in here if you don't
     6

5 如何使用sed刪除文本中每行的第4個(gè)字符?

查看測試文本:

[root@svr5 ~]# cat /etc/rc.local 
#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.
touch /var/lock/subsys/local

刪除每行第4個(gè)字符的操作及效果:

[root@svr5 ~]# cat /etc/rc.local | sed 's/.//4'
#!/in/sh
#
# Tis script will be executed *after* all the other init scripts.
# Yu can put your own initialization stuff in here if you don't
# wnt to do the full Sys V style init stuff.
touh /var/lock/subsys/local

6 提取/etc/passwd文件的第6-10行,另存為pass5.txt文件。

提取或?qū)С鑫谋荆?br />

[root@svr5 ~]# sed -n '6,10p' /etc/passwd > pass5.txt

確認(rèn)提取結(jié)果:

[root@svr5 ~]# cat pass5.txt 
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin

7 簡述awk工具的基本語法格式。

格式1: awk [選項(xiàng)] ‘[條件]{處理動作}' 文件列表
格式2: 命令 | awk [選項(xiàng)] ‘[條件]{處理動作}'

8 簡述awk工具常用的內(nèi)置變量、各自的作用。

  • $n:即$1、$2、$3……,表示指定分隔的第幾個(gè)字段
  • $0:保存當(dāng)前讀入的整行文本內(nèi)容
  • NF:記錄當(dāng)前處理行的字段個(gè)數(shù)(列數(shù))
  • NR:記錄當(dāng)前已讀入行的數(shù)量(行數(shù))

9 awk處理文本時(shí),讀文件前、讀取文件內(nèi)容中、讀文件后后這三個(gè)環(huán)節(jié)是如何表示的?

  • BEGIN{ } 文件前處理:awk沒有讀入行之前 要執(zhí)行的動作; 一般對數(shù)據(jù)作初始化操作,可以單獨(dú)使用。
  • { } 行處理:對awk讀入的每一行進(jìn)行處理,可以單獨(dú)使用。
  • END{ }文件后處理:awk 把所有的行都處理完后要執(zhí)行的動作,一般輸出數(shù)據(jù)處理的結(jié)果??梢詥为?dú)使用。

10 提取當(dāng)前eth0網(wǎng)卡的IPv4地址及掩碼信息。

查看測試文本:

[root@svr5 ~]# ip add list eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:64:88:8e brd ff:ff:ff:ff:ff:ff
    inet 192.168.4.55/24 brd 192.168.4.255 scope global eth0
    inet 192.168.4.5/24 brd 192.168.4.255 scope global secondary eth0
    inet6 fe80::20c:29ff:fe64:888e/64 scope link 
       valid_lft forever preferred_lft forever

提取IPv4地址及掩碼信息的操作及效果:

[root@svr5 ~]# ip add list eth0 | awk '/\<inet\>/{print $2}'
192.168.4.55/24
192.168.4.5/24

11 找出UID位于10~20之間的用戶,輸出用戶名及對應(yīng)的UID。

[root@svr5 ~]# awk -F: '$3>=10 && $3<=20{print $1":"$3}' /etc/passwd
uucp:10
operator:11
games:12
gopher:13
ftp:14

12 利用awk工具統(tǒng)計(jì)使用bash作為解釋器的用戶數(shù)量。

使用NF內(nèi)置變量找最后一列的內(nèi)容,匹配bash即可讓x+1:

[root@svr5 ~]# awk -F/ '$NF=="bash"{x++}END{print x}' /etc/passwd

13 在awk中是否可以使用數(shù)組,分別以什么構(gòu)成?

可以使用數(shù)組,分別以 數(shù)組名、下標(biāo)、值 三個(gè)部分構(gòu)成

14 在linux中對文本的排序如何實(shí)現(xiàn)?

使用sort命令,比如abc.txt文本
另外還可以使用選項(xiàng)-n按數(shù)字升序排列 -k:針對指定的列進(jìn)行排序 -r:反向排序

[root@svr5 ~]# sort –n abc.txt

到此這篇關(guān)于Shell中正則表達(dá)式及sed和awk常見問題的文章就介紹到這了,更多相關(guān)Shell正則表達(dá)式及sed和awk內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Linux下使用expect命令編寫自動化交互腳本

    Linux下使用expect命令編寫自動化交互腳本

    今天小編就為大家分享一篇關(guān)于Linux下使用expect命令編寫自動化交互腳本,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2018-11-11
  • Linux oracle數(shù)據(jù)庫自動備份自動壓縮腳本代碼

    Linux oracle數(shù)據(jù)庫自動備份自動壓縮腳本代碼

    這篇文章主要介紹了Linux oracle數(shù)據(jù)庫備份完成后可以自動壓縮腳本代碼,大家參考使用
    2013-12-12
  • linux多線程編程詳解教程(線程通過信號量實(shí)現(xiàn)通信代碼)

    linux多線程編程詳解教程(線程通過信號量實(shí)現(xiàn)通信代碼)

    這篇文章主要介紹了linux多線程編程詳解教程,提供線程通過信號量實(shí)現(xiàn)通信的代碼,大家參考使用吧
    2013-12-12
  • Linux 中的Edquota命令

    Linux 中的Edquota命令

    Linux edquota命令用于編輯用戶或群組的磁盤配額。下面通過本文給大家分享Linux 中的Edquota命令,感興趣的朋友一起看看吧
    2017-10-10
  • Linux中nmcli命令使用詳解

    Linux中nmcli命令使用詳解

    nmcli是Linux系統(tǒng)中的一個(gè)命令行工具,用于管理網(wǎng)絡(luò)連接,它可以幫助用戶配置和管理網(wǎng)絡(luò)連接、網(wǎng)絡(luò)設(shè)備以及網(wǎng)絡(luò)連接的屬性,本文給大家詳細(xì)介紹了Linux nmcli命令使用方法,需要的朋友可以參考下
    2024-03-03
  • Linux rm命令詳解 Linux刪除文件目錄的操作方法

    Linux rm命令詳解 Linux刪除文件目錄的操作方法

    這篇文章主要介紹了Linux rm命令詳解,Linux刪除文件目錄,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-01-01
  • shell?循環(huán)命令詳解

    shell?循環(huán)命令詳解

    這篇文章給大家介紹了shell?循環(huán)命令的相關(guān)知識,包括for命令使用,c?風(fēng)格?for?命令及while?命令等等,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2022-10-10
  • Linux實(shí)現(xiàn)文件定期本地備份/異地備份/刪除備份的腳本

    Linux實(shí)現(xiàn)文件定期本地備份/異地備份/刪除備份的腳本

    數(shù)據(jù)備份的意義就在于,當(dāng)受到網(wǎng)絡(luò)攻擊、入侵、電源故障或者操作失誤等事故的發(fā)生后,可以完整、快速、簡捷、可靠地恢復(fù)原有系統(tǒng)。本文為大家準(zhǔn)備了文件定期本地備份/異地備份/刪除備份的腳本,希望對你們有所幫助
    2022-10-10
  • Shell命令行中特殊字符與其轉(zhuǎn)義詳解(去除特殊含義)

    Shell命令行中特殊字符與其轉(zhuǎn)義詳解(去除特殊含義)

    這篇文章主要給大家詳細(xì)介紹了Shell命令行中特殊字符與其轉(zhuǎn)義(去除特殊含義)的相關(guān)資料,文中介紹的很詳細(xì),相信對大家具有一定的參考價(jià)值,有需要的朋友們下面來一起看吧。
    2017-02-02
  • 詳解Linux下find查找文件命令和grep查找文件命令

    詳解Linux下find查找文件命令和grep查找文件命令

    在使用linux時(shí),經(jīng)常需要進(jìn)行文件查找。其中查找的命令主要有find和grep,兩個(gè)命令是有區(qū)的,今天通過本文給大家介紹下Linux下查找文件(find、grep命令),感興趣的朋友一起看看吧
    2022-04-04

最新評論

全南县| 尼木县| 镇雄县| 循化| 正镶白旗| 阜阳市| 金沙县| 通化县| 桂阳县| 利津县| 彭阳县| 普格县| 宾川县| 屏山县| 万全县| 农安县| 吴川市| 高尔夫| 临武县| 延安市| 玛纳斯县| 长子县| 寿宁县| 连平县| 龙江县| 松阳县| 开江县| 凯里市| 罗田县| 徐州市| 东丰县| 天津市| 藁城市| 岚皋县| 合作市| 鄂托克前旗| 台东市| 蒙自县| 南溪县| 福安市| 龙江县|