国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

運維(SRE)成長之路-第3天 文本處理三劍客之 grep

這篇具有很好參考價值的文章主要介紹了運維(SRE)成長之路-第3天 文本處理三劍客之 grep。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

?1.命令作用以及參數(shù)詳解

?grep: 全局搜索正則表達式并打印行(Global search REgular expression and Print out the line)作用:文本搜索工具,根據(jù)用戶指定的“模式”對目標文本逐行進行匹配檢查;打印匹配到的行模式:由正則表達式字符及文本字符所編寫的過濾條件
??格式:

grep [OPTIONS] PATTERN [FILE...]

常見選項:
–color=auto 對匹配到的文本著色顯示
-m # 匹配#次后停止
-v 顯示不被pattern匹配到的行
-i 忽略字符大小寫
-n 顯示匹配的行號
-c 統(tǒng)計匹配的行數(shù)
-o 僅顯示匹配到的字符串
-q 靜默模式,不輸出任何信息
-A # after, 后#行
-B # before, 前#行
-C # context, 前后各#行
-e 實現(xiàn)多個選項間的邏輯or關系,如:grep –e ‘cat ’ -e ‘dog’ file
-w 匹配整個單詞
-E 使用ERE,相當于egrep
-F 不支持正則表達式,相當于fgrep
-f file 根據(jù)模式文件處理
-r 遞歸目錄,但不處理軟鏈接
-R 遞歸目錄,但處理軟鏈接

2.案例解析

范例:

grep root /etc/passwd
grep "USER"  /etc/passwd
grep 'USER'  /etc/passwd
grep whoami  /etc/passwd

范例:取兩個文件的相同行

[root@centos8 ~]#cat /data/f1.txt
a
b
1
c
[root@centos8 ~]#cat /data/f2.txt
b
e
f
c
1
2
[root@centos8 ~]#grep -f /data/f1.txt  /data/f2.txt
b
c
1

范例:

df | grep '^/dev/sd' |tr -s ' ' %|cut -d% -f5|sort -n|tail -1

范例:

[root@centos8 ~]#ss -nt | grep "^ESTAB" |tr -s ' ' : |cut -d: -f6|sort |uniq -c|sort -nr|head -n3
      3 10.0.0.1
      1 172.16.4.100
      1 172.16.31.188

范例:

[root@centos8 ~]#grep -v "^#" /etc/profile | grep -v '^$'
[root@centos8 ~]#grep -v "^#\|^$" /etc/profile
[root@centos8 ~]#grep -v "^\(#\|$\)" /etc/profile 
[root@centos8 ~]#grep -Ev "^(#|$)" /etc/profile
[root@centos8 ~]#egrep -v "^(#|$)" /etc/profile
[root@centos6 ~]#egrep -v '^(#|$)' /etc/httpd/conf/httpd.conf

范例:

[root@centos8 ~]#grep -o  'r..t' /etc/passwd
root
root
root
root
r/ft
rypt

范例:

[root@centos8 ~]#ifconfig | grep -E '[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}'
        inet 10.0.0.8  netmask 255.255.255.0  broadcast 10.0.0.255
        inet 172.16.0.123  netmask 255.255.0.0  broadcast 172.16.255.255
        inet6 fe80::c11e:4792:7e77:12a4  prefixlen 64  scopeid 0x20<link>
        inet 127.0.0.1  netmask 255.0.0.0
[root@centos8 ~]#ifconfig | grep -E '([0-9]{1,3}.){3}[0-9]{1,3}'
        inet 10.0.0.8  netmask 255.255.255.0  broadcast 10.0.0.255
        inet 172.16.0.123  netmask 255.255.0.0  broadcast 172.16.255.255
        inet6 fe80::c11e:4792:7e77:12a4  prefixlen 64  scopeid 0x20<link>
        inet 127.0.0.1  netmask 255.0.0.0

[root@centos8 ~]#ifconfig eth0 | grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}'|head -1
10.0.0.8

[root@centos8 ~]#cat regex.txt 
([0-9]{1,3}\.){3}[0-9]{1,3}
[root@centos8 ~]#ifconfig | grep -oEf regex.txt 
10.0.0.8
255.255.255.0
10.0.0.255
127.0.0.1
255.0.0.0

范例:

[root@centos8 ~]#grep -E 'root|bash' /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
wang:x:1000:1000:wang:/home/wang:/bin/bash
mage:x:1001:1001::/home/mage:/bin/bash
xiaoming:x:1002:1002::/home/xiaoming:/bin/bash
roob:x:1003:1003::/home/roob:/bin/bash
[root@centos8 ~]#grep -e 'root' -e 'bash' /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
wang:x:1000:1000:wang:/home/wang:/bin/bash
mage:x:1001:1001::/home/mage:/bin/bash
xiaoming:x:1002:1002::/home/xiaoming:/b

范例:

[root@centos8 ~]#grep -w root  /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
[root@centos8 ~]#grep  '\<root\>'  /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin

范例:

[root@centos8 ~]#grep "^\(.*\)\>.*\<\1$" /etc/passwd
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
bash:x:1008:1008::/home/bash:/bin/bash
nologin:x:1011:1011::/home/nologin:/sbin/nologin

[root@centos8 ~]#grep -E "^(.*)\>.*\<\1$" /etc/passwd
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
bash:x:1008:1008::/home/bash:/bin/bash
nologin:x:1011:1011::/home/nologin:/sbin/nologin

[root@centos8 ~]#egrep  "^(.*)\>.*\<\1$" /etc/passwd
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
bash:x:1008:1008::/home/bash:/bin/bash
nologin:x:1011:1011::/home/nologin:/sbin/nologin

范例:面試題,算出所有人的年齡總和

[root@centos8 ~]#cat /data/nianling.txt
xiaoming=20
xiaohong=18
xiaoqiang=22

[root@centos8 ~]#cut -d"=" -f2 /data/nianling.txt|tr '\n' + | grep -Eo ".*[0-9]"|bc
60
[root@centos8 ~]#grep -Eo "[0-9]+" /data/nianling.txt | tr '\n' + | grep -Eo ".*[0-9]"|bc
60

3.結尾(~有彩蛋~)

?為了讓乏味的日常不再那么枯燥,給大家準備了一個花活兒 (渲染愛心),如果你感興趣的話,我把具體的腳本展示在下方。?

運維(SRE)成長之路-第3天 文本處理三劍客之 grep文章來源地址http://www.zghlxwxcb.cn/news/detail-486039.html

#!/bin/bash
y=1250
for (( yy = 45; yy > 0; yy-- )); do
x=-1140
        for (( xx = -120; xx < 0; xx++ )); do
                ff=$(echo `awk -v x=${x} -v y=${y} 'BEGIN{printf "%.0f\n",(((x/1000)*(x/1000)+(y/1000)*(y/1000)-1)*((x/1000)*(x/1000)+(y/1000)*(y/1000)-1)*((x/1000)*(x/1000)+(y/1000)*(y/1000)-1)-(x/1000)*(x/1000)*(y/1000)*(y/1000)*(y/1000))*10000000}'`)
                if [[ ff -le 0 ]]; then
                        printf "\e[1;41m \e[0m"
                else
                    printf " "
                fi
        x=$((${x}+20))
        done
printf "\n"
y=$((${y}-50))
done

到了這里,關于運維(SRE)成長之路-第3天 文本處理三劍客之 grep的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • linux文本三劍客

    linux文本三劍客

    過濾/查找 參數(shù) 用法 作用 -i grep -i STRING xxx.txt 從xxx.txt文件查找不區(qū)分大小寫STRING -w grep -w STRING xxx.txt 精確匹配STRING -e grep -e STRING1 -e STRING2 xxx.txt 查找多個STRING行 -n grep -n STRING xxx.txt 查看STRING 在第幾行 -v grep -v STRING xxx.txt 輸出不包含STRING的行 -r grep -r STRING DIR/ 查找DIR目錄下哪

    2024年02月11日
    瀏覽(25)
  • linux文本三劍客詳解

    linux文本三劍客詳解

    awk、grep、sed是linux操作文本的三大利器,合稱文本三劍客。 特點: grep——單純的查找或匹配文本。 sed——編輯匹配到的文本。 awk——格式化文本,對文本進行較復雜格式處理。 首先了解一下正則表達式: 匹配字符 ?配置次數(shù) ?位置錨定:定位出現(xiàn)的位置 ? 實例介紹:

    2024年04月16日
    瀏覽(90)
  • 文本三劍客之 awk

    文本三劍客之 awk

    Linux/UNIX 系統(tǒng)中,awk 是一個功能強大的編輯工具。逐行讀取輸入文本 以空格作為分割符,多個空格他會自動壓縮成一個空格 AWK信息的讀入也是逐行指定的匹配模式進行查找,對符合條件的內(nèi)容進行格式化輸出或者過濾處理. 1按照命令找指定的行? 2.找到的行 打印,操作 awk

    2024年02月08日
    瀏覽(23)
  • Linux文本三劍客---awk

    Linux文本三劍客---awk

    Linux文本三劍客之一(grep,sed,awk),功能最強大的文本工具。 逐行讀取輸入的文本內(nèi)容,默認以空格和tab鍵作為分隔符。但是多個空格或者tab鍵的空格,會自動壓縮成一個,然后按照指定的模式和條件執(zhí)行編輯命令 可以在免交互的情況下,實現(xiàn)復雜的文本操作。完成自動化配

    2024年02月07日
    瀏覽(90)
  • 文本三劍客之~~~sed命令

    文本三劍客之~~~sed命令

    sed是一種流編輯器,流編輯器會在編輯器處理數(shù)據(jù)之前基于預先提供的一組規(guī)則來編輯數(shù)據(jù)流。 sed編輯器可以根據(jù)命令來處理數(shù)據(jù)流中的數(shù)據(jù),這些命令要么從命令行中輸入,要么存儲在一個命令文本文件中。 包括讀取,執(zhí)行和顯示三個過程 讀取:sed從輸入流(文件,管道

    2024年02月05日
    瀏覽(38)
  • 文本三劍客&正則表達式2

    文本三劍客&正則表達式2

    主要是對文件內(nèi)容按照行的方式進行增刪改查 工作流程 sed的工作流程主要包括** 讀取、執(zhí)行和顯示 **三個過程 讀取 sed從 輸入流 (文件、管道、標準輸入) 中讀取一行內(nèi)容并存儲到臨時的緩沖區(qū)中(又稱模式空間,pattern space ) 執(zhí)行 默認情況下,所有的sed命令都在模式空間中

    2024年02月05日
    瀏覽(24)
  • Linux:文本三劍客之a(chǎn)wk

    Linux:文本三劍客之a(chǎn)wk

    awk:是一種 處理文本文件的語言 ,是一個強大的 文本分析工具 。 awk: 逐行讀取文本 ,默認以 空格 或 tab鍵 為分隔符 進行分隔 ,將分隔所得的 各個字段 保存到 內(nèi)建變量 中,并按模式或者條件執(zhí)行編輯命令。 1、sed命令常用于一整行的處理,而awk比較 傾向于將一行分成

    2024年02月05日
    瀏覽(96)
  • 文本三劍客之sed編輯器

    文本三劍客之sed編輯器

    Sed是一個強大的文本處理工具,其名稱是Stream Editor(流編輯器)的縮寫。它被設計用于根據(jù)用戶定義的規(guī)則對文本進行逐行處理和轉換。 Sed通過從輸入流中逐行讀取文本,并根據(jù)用戶指定的命令來對每一行進行處理 sed的工作原理是 逐行讀取 輸入文本,并根據(jù)用戶 指定的命

    2024年02月12日
    瀏覽(20)
  • Shell腳本攻略:文本三劍客之a(chǎn)wk

    Shell腳本攻略:文本三劍客之a(chǎn)wk

    目錄 一、理論 1.awk原理 2.awk打印 ?3.awk條件判斷 4.awk數(shù)組與循環(huán) 5.awk函數(shù) 6.常用命令 二、實驗 1.統(tǒng)計磁盤可用容量 2.統(tǒng)計/etc下文件總大小 3.CPU使用率 4.統(tǒng)計內(nèi)存 5.監(jiān)控硬盤 (1)概念 awk由 Aho,Weinberger 和 Kernighan 創(chuàng)建的文本模式掃描和處理語言。 awk非常復雜,所以這不是一

    2024年02月08日
    瀏覽(85)
  • 正則表達式和文本三劍客題型練習

    正則表達式和文本三劍客題型練習

    ? 1、顯示/etc/passwd文件中以bash結尾的行; 解釋:使用 grep 工具來搜索文件 /etc/passwd 中匹配模式 \\\'bash$\\\' 的行。 bash$ 是一個正則表達式,其中 $ 表示行結尾。因此, \\\'bash$\\\' 匹配以 bash 結尾的行。 運行結果: ? 2、找出\\\"netstat ?-tan”命令的結果中,以‘LISTEN’后跟0或多個空白字

    2024年02月06日
    瀏覽(20)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包