1.萬用字元
2.正規表示式與萬用字元元字元作用*
前乙個字元匹配0次或任意多次
.匹配除了換行符外任意乙個字元
^匹配行首。例如:^hello會匹配以hello開頭的行
$匹配行尾。例如:hello$會匹配以hello結尾的行
匹配中括號中指定的任意乙個字元,只匹配乙個字元
[^]匹配除中括號的字元意外的任意乙個字元
\轉義符,用於取消特殊符號的含義
\
表示其前面的字元恰好出現n次
\
表示其前面的字元出現不小於n次
\
表示其前面的字元至少出現n次,最多出現m次
1.cut欄位提取命令[列提取]
如想獲得/etc/passwd
下獲得指定使用者名稱user1和user2
cut預設\t
為其分隔符,故使用cut擷取df -h
無效
2.printf命令
輸出格式
使用例項
printf
'%s/t%s/t%s/n' 1 2 3 4 5 6
#輸出結果
#1 2 3
#4 5 6
在awk命令的輸出中支援print和printf命令
3.awk命令
動作(action) 例項
awk
'' student.txt#$2表示第二列,$4第四列,awk是一行一行讀處理的,輸出格式需要用雙引號標識
df -h |
awk''
#擷取第五列
awk'begin' student.txt
#begin作用,在所有資料處理之前執行
#列印結果
#this is beginning
#name mark
#furong 85
#fengj 60
#cang 70
cat /etc/passwd |
grep
"/bin/bash"
|awk
''#結果(因為最起初會載入第一行,fs表示以指定符號分割)
#root:x:0:0:root:/root:/bin/bash
#user1 500
#user2 501
cat /etc/passwd |
grep
"/bin/bash"
|awk
'begin'
#結果#root 0
#user1 500
#user2 501
4.sed命令 動作
例項**
sed
'2p' student.txt
#id name gender mark
#1 furong f 85
#1 furong f 85
#2 fengj f 60
#3 cang f 70
sed -n '2p' student.txt#一般加p的動作,都適用-n選項
#1 furong f 85
sed'2,4d' student.txt
#id name gender mark 刪除第二行到第四行,只剩第一行了
sed'2a 1-1 jack g 90' student.txt#在指定行之後新增
#id name gender mark
#1 furong f 85
#1-1 jack g 90
#2 fengj f 60
#3 cang f 70
1.排序命令sort
例項**
sort -n -t ":" -k "3,3" /etc/passwd#以數值型為基準,:為分隔符,按照第三列排序/etc/passwd檔案
2.統計命令wc
例項**
wc /etc/passwd#獲得指定檔案的行數,單詞數和字元數
shell程式設計之正規表示式
1 正規表示式 其實就是一種規範,也就是模式,約束字串等符合什麼樣的格式,比如要求字串必須a開頭,t結尾,符合這樣條件的字串就要用到正規表示式。2 兩套庫 gnu linux中有有兩套庫用足正規表示式程式設計,posix庫,自帶的 pcre庫,perl,功能比較全,本文採用perl。3 初體驗 eg...
Shell程式設計之正規表示式
目錄 正規表示式 概述 基礎正規表示式 前乙個字元匹配 0 次,或任意多次 匹配除了換行符外任意乙個字元 匹配行首,匹配行尾 匹配中括號中指定的任意乙個字元,只匹配乙個字元 匹配除中括號的字元以外的任意乙個字元 轉義符 表示其前面的字元恰好出現 n 次 表示其前面的字元出現不小於 n 次 匹配其前面...
Shell程式設計之正規表示式總結
正規表示式 regular expression 是一種文字模式,描述了一種字串匹配模式。可以用來檢查乙個串是否包含有某種子串。在linux的shell程式設計中廣泛運用。正規表示式分為兩類 基本正規表示式 basic regular expression bre和擴充套件正規表示式 extende...