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

歡迎訪問 生活随笔!

生活随笔

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

linux

linux里面三剑客的重要作用

發布時間:2023/12/1 linux 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux里面三剑客的重要作用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在服務器日志fresh.log中,找到所有報錯的日期

$ sed -n '/Error/p' | awk '{print $1}' fresh.log

grep:查找
sed:行編輯器
awk:文本處理工具

正則表達式的應用場景
查找所有包含'xxx'的行
取出以'abc'開頭的所有單詞
匹配兩位數、密碼、QQ號、身份證號等

查找、取出、匹配符合條件的某個字符或字符串

cp /etc/passwd ~/. 復制一個文件到主目錄

grep 'root' passwd 查詢 '查詢的字符串' 查詢的文件

字符:特定字符、范圍內字符、任意字符。

特定字符:某一個具體的字符

范圍內字符:單個字符[] 數字字符:[0-9] [259]
小寫字符:[a-z] 大寫字符:[A-Z]

范圍內字符:反向字符^
取反:[^0-9] [^0]

任意字符: '.' 注意區分和 '[.]' '\.' 的含義

邊界字符:頭尾字符
頭字符:^ : ^root 注意與[^]的區別
尾字符:$ : false$
空行的表示:^$


元字符(代表普通字符或者特殊字符)
1. \w:# 匹配任何字類字符,包括下劃線 [a-zA-Z0-9_]
2. \W:# 匹配任何非字類字符 [^a-zA-Z0-9_]

3. \b:# 匹配單詞的邊界,用來分隔單詞(只匹配邊界字符的位置,而不匹配位置本身的這個字符。
邊界字符包括 ~`!@#$%^&*( )-=+[];:'"\|,<.>/? 等等這一類怪符號 )

正則表達式字符組合
4. "[A-z][a-z]" #匹配兩個在一個大寫一個小寫字母a-z這個范圍的字符串

5.正則表達式字符組合

字符串:重復、邏輯這樣的組合表達式

*:零次或多次匹配前面的字符或表達式
+:一次或多次匹配前面的字符或子表達式
?:零次或一次匹配前面的字符或子表達式
grep 'se*' test.txt

grep 'se+' test.txt

grep 'se\?' test.txt

?

重復特定次數:{n,m}
* :{0,} 最小零次,最大很多次
+ :{1,} 最小一次,最大很多次
? :{0,1} 最小零次,最大一次
例如:grep '[0-9]\{2,3\}' passwd


任意字符串的表示: .*
例如:grep '^r.*' passwd

grep 'm.*c' passwd 與 grep 'm..c' passwd 的區別
前者是作為任意長度而出現 后者作為一個單詞來出現

grep 'bin/\(false\|true\)' passwd

?

匹配4到10位的QQ號
grep '^[0-9]\{4,10\}$' qq.txt

匹配15位到18位的身份證號(支持帶X的)

案例2:匹配15位或18位身份證號
^[1-9]([0-9]{13}|[0-9]{16})[xX0-9]$


案例3:匹配密碼(密碼規則為6-18位字符,包含a-zA-Z0-9_)
^\w{6,18}$


sed sed---文本處理
自動處理文件 正則選定文本
分析日志文件 到
修改配置文件 sed---進行處理

命令行格式:
$sed [options] 'command' file(s)

options: -e; -n
command:行定位(正則)+sed命令

1 例如:sed -n '/root/p'
2 例如:sed -e '10,20d' -e 's/false/true/g'

腳本格式
$sed -f scriptfile files(s)

一、基本操作命令
1. p命令:打印相關的行
1 sed 'p' passwd #會打印出兩行,因為sed的原理是讀入一行,輸出一行,此處再加上p命令打印出來的一行,所以最后會打印出兩行
2 sed -n 'p'passwd #加了-n選項之后,只會打印出相關的行,那些不相關的行則不會打印出來

二、行定位
1. 定位一行:x;(x為數字,行號的意思),/pattern/(pattern為正則表達式,正則兩邊加上//)
1 例如:sed -n '10p' passwd #通過行號定位,定位到第10行,并打印到屏幕但是無法看到行號
2 例如:nl passwd | sed -n '10p' #使用nl命令顯示文件的行號,再通過管道傳遞給sed進行行處理。
3 例如:sed -n '/mooc/p' passwd #通過正則定位,定位含有mooc字符串這一行,并打印到屏幕

2. 定位幾行:
1 x,y #(定位一個區間,x行到y行)
例如:nl passwd | sed -n '10,20p'

2 x,/pattern/ #(定位一個區間,x為開始的行號,pattren為結束的正則所表示的行)
例如:nl passwd | sed -n '10,/mooc/p'

3 /pattern1/,/pattern2/ #(定位一個區間,pattern1為開始的正則1所表示的行,pattern2為結束的正則2所表示的行)
2.3.1 例如:nl passwd | sed -n '/news/,/mooc/p'

4 "!" #感嘆號,對所選的行進行取反
例如:nl passwd | sed -n '10!p'
例如:nl passwd | sed -n '10,20!p'
3.定位間隔幾行:
3.1 first~step (first為開始的行,setp為步長也就是間隔幾行)
3.1.1 例如:nl passwd | sed -n '1~2p' #定位從第1行開始,中間間隔2行的所有的行

?

一、a 命令 #新增加一行,在所選行的下面新增一行,并輸入內容
1. 命令格式:sed '行號+a命令+需要增加的內容'
2. 例如:nl passwd | sed '5a======' #在第5行的下面新增一行,并寫入======這些內容
3. 例如:nl passwd | sed '1,5a======' #在第1-5行每一行下面都增加一行并寫入同樣的內容

二、i 命令 #新插入一行,在所選行的上面插入一行,并輸入內容
1. 命令格式:sed '行號+i命令+需要插入的內容'
2. 例如:nl passwd | sed '5i======' #在第5行的上面插入一行,并寫入======這些內容
3. 例如:nl passwd | sed '1,5i======' #在第1-5行每一行上面都插入一行并寫入同樣的內容

三、c 命令 #替換一行,將所選定的行的內容替換成需要替換的內容
1. 命令格式:sed '行號+c命令+需要替換的內容'
2. 例如:nl passwd | sed '5c======' #將第5行的內容替換成======這些內容
3. 例如:nl passwd | sed '1,5c======' #將1-5行整體的內容都替換成======這些內容

四、d 命令 #刪除一行,將所選行的內容全部刪除
1. 命令格式:sed '行號+d命令+需要替換的內容'
2. 例如:nl passwd | sed '5d======' #將第5行的內容全部刪除

五、案例一:優化服務器配置
1. 目標:在SSH的配置文件中加入相應的文本:
Port 52113
PermitRootLogin no
PerminEmptyPasswords no
2. 操作命令:sed '$a \ port 52113 \n permitrootlogin no' ssh_config #在文本尾部的下面增加兩行,并寫入相關內容($美刀符號定位文本的尾部)
六、案例二:
文本處理
1. 目標:刪除文本中的空行
2. 操作命令:sed '/^$/d' all.txt #刪除文本中的空行

七、案例三:
sed高級命令
&:替換固定字符串
sed 's/^[a-z_-]\+/& /' /etc/passwd 給passwd文件里的用戶后面加幾個空格。

2. \u \l \U \L轉換大小寫,前邊小寫u和l僅變更開頭字符,大寫U和L變更全部
sed 's/^[a-z-_]\+/\u&/' /etc/passwd 將用戶名第一個字母轉大寫

八、案例四:
數據篩選:
獲取用戶名字段:sed 's/\(^[a-z_-]\+\):.*$/\1/' /etc/passwd
獲取第二個字段:
sed 's/\(^[a-z_-]\+\):x:\([0-9]\+\):.*$/\1 \2/' /etc/passwd
九、案例五:
sed 's/\(^[a-z_-]\+\):x:\([0-9]\+\):\([0-9]\+\):.*$/USER:\1 UID:\2 GID:\3/' /etc/passwd

ifconfig eth0 | grep 'inet ' | sed -r 's/^.*r:([0-9\.]+).*$/\1/'
挑出ip地址

sed 命令之 -r讀 -w寫
-r:復制指定文件插入到匹配行
-w:復制匹配行拷貝到指定文件里
1. sed '1r 123.txt' abc.txt : 代表把123.txt整個文件的內容附加在abc.txt的第一行內容之后
2. sed '1w 123.txt' abc.txt : 代表把abc.txt的第一行拷貝到123.txt文件

內容在持續更新中。。。。。。


注意此時會覆蓋文件123.txt原本的內容

轉載于:https://www.cnblogs.com/crazying/p/8258641.html

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的linux里面三剑客的重要作用的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 成人在线观看a | 麻豆传媒mv| 国产精品久久久久久亚洲色 | 九月色婷婷 | 狠狠艹狠狠干 | 射区导航 | 国产一级黄色片子 | 摸摸摸bbb毛毛毛片 午夜爽爽影院 | www.超碰在线.com | 三点尽露的大尺度国产 | 国产精品久久不卡 | 国产欧美视频在线观看 | 欧美久久综合网 | 男女av在线 | 色老头一区 | 法国空姐在线观看完整版 | 中文字幕在线播放一区二区 | 亚洲国产系列 | 亚洲天堂网一区 | 成人精品动漫 | 亚洲精品日产精品乱码不卡 | 午夜激情婷婷 | 色网在线免费观看 | 午夜精品久久久久久久久久久 | 丝袜制服影音先锋 | www.久久久久久久久 | 国产99999| 亚洲第一黄色网址 | 美腿丝袜亚洲综合 | 超碰丝袜 | 91桃色免费视频 | 丝袜国产一区 | 亚洲熟妇一区二区 | 欧美色射| 自拍偷拍亚洲精品 | 自拍偷拍亚洲图片 | 亚洲精品视频在线看 | 九九视频在线观看 | 超碰资源在线 | 中日韩午夜理伦电影免费 | 青娱乐导航 | 快播怡红院 | 日韩大片免费观看 | 亚洲狼人在线 | 日本免费黄色网址 | 欧美xxxxxhd| 成人在线观看网 | 999精品视频在线观看 | 美女擦边视频 | 波多野结衣高清视频 | 亚洲激情二区 | 免费在线观看污网站 | 日韩精品h | 国产精品毛片一区视频播 | 中文字幕精品一区二区三区视频 | 国产精品久久一区 | 精品三级国产 | 亚洲中文字幕视频一区 | 精品人妻一区二区色欲产成人 | www.国产免费 | 国产三区四区视频 | 东北少妇露脸无套对白 | 成人一区二区三区在线 | 成人涩涩网站 | 欧洲成人av| 动漫av网站免费观看 | 大尺码肥胖女系列av | 午夜爽爽视频 | 污视频网址 | 欧美三级黄色大片 | 麻豆 国产 | 久操av| 国产精品96 | www.天天操| 国产精品无圣光 | 日韩亚洲欧美精品 | 日本啊v在线 | 黄色一级在线观看 | 男女啪啪十八 | 精人妻无码一区二区三区 | 国产精品一区二区在线观看 | av网子| 中文字幕亚洲精品在线观看 | 免费一级特黄特色大片 | 黄网站色视频 | 秋霞中文字幕 | 色射网 | 国产大片一区 | 精品欧美色视频网站在线观看 | 琪琪成人 | 中文人妻熟妇乱又伦精品 | 国产精品黄在线观看 | 色福利在线| 5d肉蒲团之性战奶水 | 亚洲永久精品视频 | 国产精品888| 97精品在线观看 | 欧美a天堂 | 日韩欧美在线免费 |