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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

shell编程-正则表达式

發布時間:2023/11/27 生活经验 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 shell编程-正则表达式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.正則表達式是什么

它主要用于字符串的模式分割,匹配,查找及替換操作。

2、正則表達式與通配符

正則表達式用來在文件中匹配符合條件的字符串,正則包含匹配。grep,awk,sed等命令可以支持正則表達式。

通配符用來匹配符合條件的文件名,通配符是完全匹配。ls ,find,cp這些命令不支持正則表達式,所以只能使用shell自己的通配符進行匹配了。

3.基礎正則表達式

?.相當于通配符的?

[0-9]\{4\}-[0-9]\{2\}-[0-9]\{2\}

[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\

3.字符截取命令

cut [選項] 文件名

-f 列號:提取第幾列

-d:分隔符:按照指定分隔符分割列,默認分隔符是tab鍵(制表符)

ID name gender Make
1 ? nyan ? ? n ? ? ? 89
2 ? luke ? ? ?l ? ? ? ?87
3 ? mak ? ? ?n ? ? ? 67

cut -f 1,3 student.txt

grep "/bin/bash" /etc/passwd | grep -v "root" | cut -f 1 -d ":"

?

printf ?'輸出類型輸出格式' 輸出內容

輸出類型:

%ns:輸出字符串。n是數字指代輸出幾個字符

%ni:輸出整數。n是數字指代輸出幾個數

%m.nf:輸出浮點數.m和n指代輸出整數位和小數位位數

printf不支持管道符,所以printf $(cat 2.txt)

?

awk '條件1{動作1}條件2{動作2}...' 文件名

條件Pattern:

一般使用關系表達式作為條件:>,<>=,<=

動作Action:

格式化輸出

流程控制語句

awk '{printf $2 "\t" $4 "\n"}' student.txt

BEGIN: awk 'BEGIN{print "test"}{print $2 "\t" $4}' student.txt

FS內置變量: cat /etc/passwd |grep /bin/bash |awk '{FS=":"}{print $1 "\t" $3}'

如果沒有加BEGIN,則是先讀取數據賦值給指定變量$n,再告訴FS是":"作為分隔符,此時已晚。

cat /etc/passwd |grep /bin/bash |awk 'BEGIN{FS=":"}{print $1 "\t" $3}'

?

sed字符替換命令

sed [選項] '[動作]' 文件名

-n:一般sed命令會把所有數據輸出到屏幕,如果加入此選擇,則只會把經過sed命令處理的行輸出到屏幕。

-e:允許對輸入數據應用多條sed命令編輯

-i:用sed修改結果直接修改讀取數據的文件,而不是有屏幕輸出。

動作:

a:追加,在當前行后添加一行或多行

c:行替換,用c后面的字符串替換源數據行

i:插入,在當前行插入一行或多行。

d:刪除指定行

p:打印,輸出指定的行

s:字符串替換,用一個字符串替換另外一一個字符串。格式為 "行范圍s/舊字符串/新字符串/g"

sed -n '2p' student.txt

sed '2a 3 f v m' student.txt

sed '2,4d' student.txt

前面數字是行號

?

4.字符處理命令

sort [選項] 文件名

-f:忽略大小寫

-n:以數值型進行排序,默認使用字符串型排序

-r:反向排序

-t:指定分隔符,默認是分隔符是制表符

-k n[,m]:按照指定的字段范圍排序。從第n字段開始,m字段結束(默認到行尾)

sort -n -t ":" -k "3,3" /etc/passwd

wc:統計命令

wc [選項] 文件名

-l:只統計行數

-w:只統計單詞數

-m:只統計字符數

?

轉載于:https://www.cnblogs.com/Nyan-Workflow-FC/p/5667629.html

總結

以上是生活随笔為你收集整理的shell编程-正则表达式的全部內容,希望文章能夠幫你解決所遇到的問題。

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