最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

awk和sed整理后資料_MySQL

來源:懂視網 責編:小采 時間:2020-11-09 17:47:36
文檔

awk和sed整理后資料_MySQL

awk和sed整理后資料_MySQL:sed及awk部分為本人學習筆記,呵呵,自己寫的哦sed命令:格式:sed -e 's/aaa/bbb/g' -n -e '/XXX/p' -e '/YYY/d' filename命令參數:-e 執(zhí)行多個SED命令s替換g全文-n顯示過濾后的部分,否則會重復顯示一次原文p顯示出來printd刪除/把元字符轉化($
推薦度:
導讀awk和sed整理后資料_MySQL:sed及awk部分為本人學習筆記,呵呵,自己寫的哦sed命令:格式:sed -e 's/aaa/bbb/g' -n -e '/XXX/p' -e '/YYY/d' filename命令參數:-e 執(zhí)行多個SED命令s替換g全文-n顯示過濾后的部分,否則會重復顯示一次原文p顯示出來printd刪除/把元字符轉化($

sed及awk部分為本人學習筆記,呵呵,自己寫的哦


sed命令:
格式:sed -e 's/aaa/bbb/g' -n -e '/XXX/p' -e '/YYY/d' filename

命令參數:
-e 執(zhí)行多個SED命令
s替換
g全文
-n顯示過濾后的部分,否則會重復顯示一次原文
p顯示出來print
d刪除
/把元字符轉化($,/.,/^,//)


正則表格式:
/^$/ 空行
/^.*/ 一整行
/*/ 一個或多個空格
/[a-zA-Z][a-zA-Z]*:W[a-zA-Z0-9][a-zA-Z0-9/.]*.*/ 有效的URL

例:
$cat tt
aaa XXX
aaa YYY
bbb XXX
bbb YYY
$sed -e 's/aaa/bbb/g' -n -e '/XXX/p' -e '/YYY/d' tt
bbb XXX
bbb XXX
hos08:/u1/hos08/tmp>
注解:把aaa替換成bbb,過濾包含XXX的行,刪除包含YYY的行。


awk (一)

< 小于
> 大于
<= 小于等于
>= 大于等于
== 等于
!= 不等于
value~/pattern/ 如果value匹配樣式,為真
value!~/pattern/ 如果value不匹配樣式,為真
&& A與B
|| A或B

使用 printf語句中參數可以使段落整齊。
$cat tt
aaa XXX 100 5
aaa YYY 98 9
bbb XXX 111 3
bbb YYY 99 8
過濾包含aaa的行并以,"TTT",格式顯示出來
$awk ' /aaa/ {print ,"TTT",;} ' tt
XXX TTT aaa
YYY TTT aaa

過濾第三列為2位數字,并且第四列大于5的行
$awk ' ( ~ /[0-9][0-9]/ ) && ( > 5 ) { print ,,, ;}' tt
aaa YYY 98 9
bbb YYY 99 8
把所列行后邊加*號
$awk ' ( ~ /[0-9][0-9]/ ) && ( > 5 ) { printf "%s/t%s/n" ,,"*";}' tt
aaa YYY 98 9 *
bbb YYY 99 8 *
把第一列替換成nnn并在結尾加TTT,再把第一列替換成uuu直接顯示。
$awk ' = "nnn" { printf "%s/t%s/n" , , "TTT" ; } = "uuu" { print ; } ' tt
nnn XXX 100 5 TTT
uuu XXX 100 5
nnn YYY 98 9 TTT
uuu YYY 98 9
nnn XXX 111 3 TTT
uuu XXX 111 3
nnn YYY 99 8 TTT
uuu YYY 99 8
針對上一行加入了next,其功能是如果第一段命令為真則跳過以后段直接重新開始檢查
$awk ' = "nnn" { printf "%s/t%s/n" , , "TTT" ;next; } = "uuu" { print ; } ' tt
nnn XXX 100 5 TTT
nnn YYY 98 9 TTT
nnn XXX 111 3 TTT
nnn YYY 99 8 TTT
把第三列大于等于100的行加TTT,再把第四列大于等于5的行連同上一查詢結果一同列出來。
$awk ' >= 100 { printf "%s/t%s/n" ,,"TTT" ; } >= 5 { print ; } ' tt
aaa XXX 100 5 TTT
aaa XXX 100 5
aaa YYY 98 9
bbb XXX 111 3 TTT
bbb YYY 99 8
把第三列大于等于100的行加TTT,再把小于100的行連同上一查詢一同列出來。
$awk ' >= 100 { printf "%s/t%s/n" ,,"TTT" ; } < 100 { print ; } ' tt
aaa XXX 100 5 TTT
aaa YYY 98 9
bbb XXX 111 3 TTT
bbb YYY 99 8


搭配其他命令來使用。
$w
3:16pm up 4 days, 8:34, 30 users, load average: 0.97, 0.78, 0.80
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
usr0809 pts/1 172.26.4.52 2:31pm 23:52 0.54s 0.00s -bash
usr0809 pts/2 172.26.4.49 12:53pm 0.00s 10.68s 0.03s -bash
u0809 pts/3 172.26.4.56 7:39am 28:29 7.59s 0.01s -bash
u0809 pts/4 172.26.4.51 2:20pm 55:45 0.12s 0.02s -bash
過濾包含pts的行,并顯示它的第三和第一列
$w |awk ' = /pts/ {printf "%s/t%s/n",,;}'
172.26.4.52 user1
172.26.4.49 user2
172.26.4.56 user3
172.26.4.51 user4

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

awk和sed整理后資料_MySQL

awk和sed整理后資料_MySQL:sed及awk部分為本人學習筆記,呵呵,自己寫的哦sed命令:格式:sed -e 's/aaa/bbb/g' -n -e '/XXX/p' -e '/YYY/d' filename命令參數:-e 執(zhí)行多個SED命令s替換g全文-n顯示過濾后的部分,否則會重復顯示一次原文p顯示出來printd刪除/把元字符轉化($
推薦度:
標簽: 整理 學習 資料
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top