日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux三剑客与管道及正则

發布時間:2024/3/24 linux 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux三剑客与管道及正则 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

linux常用工具:

? ? ? ? 1.正則:正則表達式是記錄文本規則的代碼。??在線正則表達式測試

? ? ? ? 2.管道符“|”,用于連接兩個命令間的輸出與輸入,管道符“|”左邊的命令的輸出會作為管道符“|”右邊命令的輸入。

? ? ? ? ?echo "hello world" | grep hello

? ? ? ? 3.grep,sed,awk為三劍客,對文本進行處理。

? ? ? ? ? ? ? ? 1).grep? 根據用戶指定的模式(pattern)對目標文本進行過濾,顯示被匹配到的行。

? ? ? ? ? ? ? ? ? ? ? ? -v? 顯示不被pattern匹配的行---》grep -nv root test.txt:文件中不包含root的行數

? ? ? ? ? ? ? ? ? ? ? ? -i? 忽略字符大小寫

? ? ? ? ? ? ? ? ? ? ? ? -n? 顯示匹配的行號------》grep -n root test.txt:查找文件中包含root的行數

? ? ? ? ? ? ? ? ? ? ? ? -c? 統計匹配的行數

? ? ? ? ? ? ? ? ? ? ? ? -r 遞歸搜索

? ? ? ? ? ? ? ? ? ? ? ? -o? 僅顯示匹配到的字符串

? ? ? ? ? ? ? ? ? ? ? ? -E? 使用grep -E,相當于egrep,在使用正則匹配時用到此參數:grep -E "w{3}" test.sh

? ? ? ? ? ? ? ? ? ? ? ? 查找以R開始,以\結尾的行

? ? ? ? ? ? 判斷當前用戶在文件中是否存在,存在就打印exist,不存在打印 not exist

? ? ? /dev/null? :linux中的垃圾箱位置? ? ? ? ? ? ?

????????將未報錯的輸出扔進垃圾箱:>> /dev/null

? ? ? ? ?不管報錯與否都扔進垃圾箱:&> /dev/null

? ? ? ? ? ? ? ? 2).sed? ?流編輯器,對文件逐行處理

? ? ? ? ? ? ? ? 2種形式:? ? ? ? sed opcf

? ? ? ? ? ? ? ? ? ? ? ?1. sed [OPTION] “pattern command" file

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 如:?sed -n "2 p" passwd

? ? ? ? ? ? ? ? ? ? ? ? OPTION:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? -n? ? ? ? 只打印模式匹配的行

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? -f? ? ? ? 加載存放“動作”的文件

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? -r? ? ? ? 支持拓展正則

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? -i? ? ? ? 直接修改文件(真正修改生效的)

? ? ? ? ? ? ? ? ? ? ? ? pattern:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 5? ? ? ? 只處理第5行

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 5,10? ? ? ? 只處理第5行到第10行

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? /parttern/? ? ?只處理能匹配pattern的行

????????????????????????????????/parttern1/,/pattern2/? ? ?只處理能匹配pattern1行到pattern2行的行

? ? ? ? ? ? ? ? ? ? ? ? command(增刪改查):? ? ? ?

? ? ? ? ? ? ? ? ? ? ? ? 新增

????????????????????????????????a? ?在匹配行后新增? ? sed -n?'4a i love you'? passwd

????????????????????????????????????????????????????????????????????????在第四行后面新增一行i love you;

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? i? ? 在匹配行前新增? ?sed -n?'4i I?love you'? passwd?

????????????????????????????????????????????????????????????????????????在第四行前面插入一行I love you;?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? r? ?外部文件讀入,行后新增

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? w??匹配行寫入外部文件

? ? ? ? ? ? ? ? ? ? ? ? 刪除

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? d???sed -n?'2,5d'? passwd? 將第2~5行刪除;

? ? ? ? ? ? ? ? ? ? ? ? 修改

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? c? ?整行替換??sed -n?'2,5c i love you'? ?將第2至第5行的數據以i love you替換;

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?s??詞替換??sed -n?'s/old_word/new_word/g'? ?passwd?

????????????????????????????????????????????????????????????????????????將全局的old_word替換為new_word.

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? sed -n?'s/old/new/'? ? ? ? 只修改匹配行中第一個old為new

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? sed? -n?'s/old/new/ig.? ?忽略大小寫全部替換

? ? ? ? ? ? ? ? ? ? ? ? 查詢

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? p??打印? ? sed -n '/root/ p' passwd

? ? ? ? ? ? ? ? ? ? ? ? 示例:

? ? ? ?sed -n "2 p" passwd:對匹配的行做打印操作

? ? ? ?匹配含有daemon的行: sed -n "/daemon/? p" passwd? ---->/xxxword/ 單詞用//包裹

? ? ? ?匹配打印mail開頭到ntp開頭的行:sed -n "/^mail/,/^ntp/ p" passwd?

? ? ? ? ? ? ? ? ? ? ? ?2. some command | sed?sed [OPTION] “pattern command" file

? ? ? ? ? ? ? ? ? ? ? ? sed -h? 幫助文檔? ?向下翻:j

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 向上翻:k

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 下一個關鍵字:n

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 上一個關鍵字:N

? ? ? ? ? ? ? ? ? ? ? ? sed -i?'s/old_word/new_word/g' test.txt? 以修改文件內容的形式將

????????????????????????????????????????????????????????文件內全局的old_word替換為new_word.

? ? ? ? ? ? ? ? ? ? ? ? a:新增? ? sed -e '4a i love you'? 在第四行后面新增一行i love you;

? ? ? ? ? ? ? ? ? ? ? ? c.取代? ? sed -e '2,5c i love you'? ?將第2至第5行的數據以i love you替換;

? ? ? ? ? ? ? ? ? ? ? ? d.刪除? ? sed -e '2,5d'? ? 將第2~5行刪除;

? ? ? ? ? ? ? ? ? ? ? ? i:插入修改? ? ?sed -e '4i I?love you'? ?在第四行前面插入一行I love you;?

? ? ? ? ? ? ? ? ? ? ? ? p:打印? ? sed -n '/root/p'

? ? ? ? ? ? ? ? ? ? ? ? s:取代? ? ?sed -e 's/old_word/new_word/g'? ?將全局的old_word替換為new_word.

? ? ? ? ? ? ? ? 3).awk :文本處理工具,處理數據并生成結果報告,對列進行處理。

????????????????把文件逐行讀入,以空格為默認分隔符將每行切片,切開的部分再進行后續處理

? ? ? ? ? ? ? ? 2種形式: awk opcf

? ? ? ? ? ? ? ? ? ? ? ? awk 'BEGIN{} pattern{commands} END{}'?file

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 包裹pattern的必須是單引號‘ ’

? ? ? ? ? ? ? ? ? ? ? ? some command | grep [option] [pattern]

? ? ? ? ? ? ? ? awk 'pattern {action}' test.txt

? ? ? ? ? ? ? ? ? ? ? ? pattern? 正則表達式

? ? ? ? ? ? ? ? ? ? ? ? action? ?對匹配到的內容需要執行的命令(默認為輸出每行內容)

? ? ? ? ? ? ? ? ? ? ? ? test.txt? ?awk瀏覽的文件名

? ? ? ? ? ? ? ? ? ? ? ? BEGIN? 處理文本前要執行的操作

? ? ? ? ? ? ? ? ? ? ? ? END? ? 處理文本后要執行的操作

? ? ? ? ? ? ? ? 內置變量

????????????????????????$0? ??????????????????????????????????????????????整行內容

? ? ? ? ? ? ? ? ? ? ? ? ?$1~$n? ?????????????????????????????????????當前行的第1~n個字段

????????????????????????NF(Number Field)? ????????????????????當前行字段數

????????????????????????NR(Number Row)? ? ? ? ? ? ? ? ? ? ? ?當前行行號,從1開始

? ? ? ? ? ? ? ? ? ? ? ? FS(Field Separator) /-F? ? ? ? ? ? ? 輸入字段分割符,默認為空格/tab鍵

? ? ? ? ? ? ? ? ? ? ? ? RS(Row Separator)? ? ????????????????輸入行分割符,默認為回車符

? ? ? ? ? ? ? ? ? ? ? ? OFS(Output Field Separator).? ?輸出字段分割符,默認為空格

? ? ? ? ? ? ? ? ? ? ? ? ORS(Output Field Separator).? ?輸出行分割符,默認為回車符? ? ? ? ? ? ? ? ? ??

? ? ? ? ? ? ? ? awk -F: '/root/ {print $7}' /etc/passwd

? ? ? ? ? ? ? ? ? ? ? ? 1.awk 按行處理/etc/passwd文件中的每行數據;

? ? ? ? ? ? ? ? ? ? ? ? 2.將讀取出的每行數據按“:”分割成域;

? ? ? ? ? ? ? ? ? ? ? ? 3.將每行經分割后的所有數據匹配正則/root/,匹配包含root的行;

? ? ? ? ? ? ? ? ? ? ? ? 4.將匹配到的行執行print $7操作,即打印第7域(列),得出最后數據。

? ? ? ? ? ? ?awk -F: 'NR==2{print $0}' /etc/passwd

? ? ? ? ? ? ? ? ? ? ? ? 1.awk 按行讀取passwd文件中所有數據;

? ? ? ? ? ? ? ? ? ? ? ? 2.讀取的數據按“:”分割為域;

? ? ? ? ? ? ? ? ? ? ? ? 3.匹配NR==2,第二行數據,并打印整行所有數據print $0.

awk -F: 'BEGIN{print "i love you"} {print $6,$7} END{print "do you love me?"}' ?/etc/passwd

????????????????????????BEGIN? 處理文本前要執行的操作

????????????????????????END? ? 處理文本后要執行的操作

根據pid查看某進程所占用內存%MEM百分比?

awk 操作passwd文件:

?$0? ?整行內容

awk 查看文件內容?awk '{print $0}' passwd

?$1~$n? ? ?當前行的第1~n個字段

NF(Number Field)? 當前行字段數

NR(Number Row)? ? ?當前行行號,從1開始

FS(Field Separator)? ?輸入字段分割符,默認為空格/tab鍵

????????????????利用NF取出最后一列數據

?????????????????打印第1個字段和最后一個字段

????????????????RS(Row Separator)? ? 輸入行分割符,默認為回車符

????????????????OFS(Output Field Separator).? ?輸出字段分割符,默認為空格

????????????????ORS(Output Field Separator).? ?輸出行分割符,默認為回車符

格式化輸出:printf 會將空格和回車鍵都去除

? ? ? ? 格式符:? ? ? ? ? ? ? ? 含義

? ? ? ? ? ? ? ? %s? ? ? ? ? ? ? ?字符串

? ? ? ? ? ? ? ? %d? ? ? ? ? ? ? ?十進制數字

? ? ? ? ? ? ? ? %f? ? ? ? ? ? ? ? 浮點數

? ? ? ? 修飾符? ? ? ? ? ? ? ? ? 含義

? ? ? ? ? ? ? ? +? ? ? ? ? ? ? ? ?右對齊

? ? ? ? ? ? ? ? -? ? ? ? ? ? ? ? ?左對齊

?格式化:\n換行

? ? ? ? ? ? ? ? /t 指標符

? ? ? ? ? ? ? ? ?%40s 占40個字符,默認右對齊,未占用的用空格代替

? ? ? ? ? ? ? ? ?左對齊????????

?打印包含“chuntian"的行的第1列和最后1列數據

打印mail 到 games的行

需求:取出第6列中含bin的行?

使用正則匹配包含/bin的行

?使用正則匹配第6列包含/bin的行

匹配行后打印總共有幾行

AWK 語法:

????????將awk命令寫入文件,通過文件載入命令

????????vim test.awk. 建議按照此格式寫,不然可能報錯。

BEGIN{FS=":"printf "%-20s\t%-20s\n","User","Status" }{if ($6 ~ "bin"){count++printf "%-20s\t%-20s\n",$1,$NF} }END{printf "%-20s\t%-20s\n","Total:",count }

效果:

通過awk -f 參數加載命令文件。?

awk 語法2:

? ? ? ? 統計每個用戶的 數量

BEGIN{FS=":"printf "%-20s\t%-20s\n","User","Total" }{USER[$1] += 1 }END{for (u in USER)printf "%-20s\t%-20s\n",u,USER[u] }

效果:

?統計日志中每位用戶成功數和失敗數

BEGIN{FS=":"printf "%-20s\t%-20s\t%-20s\n","User","Success","Fail" }{if ($5 == "pass"){SUCCESS[$4] += 1} else{FAIL[$4] += 1}USER[$1] += 1 }END{for (u in USER){ALL_SUCCESS += SUCCESS[u]ALL_FAIL += FAIL[u]printf "%-20s\t%-20s\t%-20s\n",u,SUCCESS[u],FAIL[u]}printf "%-20s\t%-20s\t%-20s\n","Total",ALL_SUCCESS],ALL_FAIL }

?效果:

總結

以上是生活随笔為你收集整理的Linux三剑客与管道及正则的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧日韩不卡在线视频 | 中文一区二区在线观看 | 午夜一区二区三区在线 | 国产美女91呻吟求 | 欧美久久影院 | 经典三级第一页 | 亚洲欧美国产另类 | 91原创视频在线观看 | 日本 在线 | 免费黄色在线 | 91av影视| 67194在线免费观看 | 日韩电影第一页 | 日韩理论在线观看 | 久久九九精品视频 | 女人脱裤子让男人捅 | 日韩在线播放一区二区 | 爆操网站 | 97在线观看视频免费 | 亚洲av色区一区二区三区 | 理论片琪琪午夜电影 | 国产一区二区a | av网站大全在线观看 | 亚洲一区二区三区蜜桃 | 男女爱爱动态图 | 色黄啪啪网| 69色| 国产激情无码一区二区三区 | 久久久久久亚洲av无码专区 | 91在线观看成人 | aaa国产视频 | 久久久久久亚洲av无码专区 | 久久久久a | 黑人操亚洲女 | 国模少妇一区二区三区 | 中文字幕在线观看网站 | 西野翔夫の目の前で犯在线 | 日本综合色 | 伊人久久五月 | av成人毛片 | 久久久国产精华液 | 欧洲av网站 | 欧美精品乱码 | 欧美老肥妇做爰bbww | 奇米在线 | www.com亚洲| 青青操免费 | 欧美激情一区二区三级高清视频 | 国产一级视频免费观看 | 国产女主播喷水高潮网红在线 | 日韩一区二区在线免费观看 | 天堂√8在线中文 | av黄色大片 | 欧美人与动牲交xxxxbbbb | 日本私人影院 | 无码人妻一区二区三区在线视频 | 综合视频 | 久久精工是国产品牌吗 | 三级做爰在线观看视频 | 亚洲精品少妇一区二区 | 能在线观看的av网站 | 综合色爱 | 国产极品免费 | 国模无码大尺度一区二区三区 | www亚洲天堂 | 91在线一区| 五月婷中文字幕 | 色人人 | 日日操日日碰 | 乳揉みま痴汉4在线播放 | 女生被男生桶 | a中文在线| 老头老夫妇自拍性tv | 日日燥夜夜燥 | 日本黄色不卡视频 | 伊人天堂av| 亚洲国产日韩在线 | 日韩在线精品强乱中文字幕 | www.夜夜操 | 肉丝袜脚交视频一区二区 | 爆操白虎逼| 国产一级片免费在线观看 | 成人动漫av| 97人人插| www.色播.com| 国产伦精品一区二区三区精品 | 东京热一本视频一区 | 国产精品网站在线 | 毛片全黄 | 男生插女生的视频 | 综合久久影院 | 婷婷狠狠操 | 精品国产乱码久久久久久蜜臀网站 | 精品欧美一区二区三区成人 | 痴汉电车在线播放 | 中文字幕一区二区不卡 | 久久一级黄色片 | 成人免费一区 | 老公吃小头头视频免费观看 |