-
awk '條件1{動作1} 條件2{動作2}...' 文件名
條件(Pattern):
一般使用關系表達式作為條件
x?> 10 判斷變量 x 是否大于 10
x >= 10 大于等于
x <=10 小于等于
動作(Action):
格式化輸出
流程控制語句
查看全部 -
在 awk 命令的輸出中支持 print 和 printf 命令
print:print 會在每個輸出之后自動加入ー個換行符(Linux 默認沒有 print 命令)
?printf:printf 是標準格式輸出命令,并不會自動加入換行符,如果需要換行,需要手工加入換行符
查看全部 -
printf?'%s'?$(cat?student.txt)
不調整輸格式printf?'%s\t?%s\t?%s\t?%s\n'?$(cat?student.txt)
調整格式輸出
查看全部 -
[root@localhost?~]#?printf?%s?1?2?3?5?6
[root@localhost?~]#?printf?%s?%s?%s?1?2?3?4?5?6
[root@localhost?~]#?printf?'%s?%s?%s'?1?2?3?4?5?6
[root@localhost?~]#?printf?'%s%s%s\n'?1?2?3?4?5?6
查看全部 -
printf '輸出類型輸出格式' 輸出內容
輸出類型
%ns:輸出字符串。n 是數字指代輸出幾個字符
%ni:輸出整數。n 是數字指代輸出幾個數字
%m. nf:輸出浮點數。m 和 n 是數字,指代輸出的整數位數和小數位數
如 %8.2f 代表共輸出 8 位數,其中 2 位是小數,6 位是整數。
輸出格式:
\a:輸出警告聲音
\b:輸出退格鍵,也就是 Backspace 鍵
\f:清除屏幕
\n:換行
\r:回車,也就是 Enter 鍵
\t:水平輸出退格鍵,也就是 Tab 鍵
\v:垂直輸出退格鍵,也就是 Tab 鍵
查看全部 -
cut 命令的局限
df?-h?|?cut?-d?""?-f?1,3
查看全部 -
cut?-f?2?student.txt
cut?-f?2,4?student.txt
cut?-d?":"?-f?1,3?/etc/passwd
?
查看全部 -
[root@localhost?~]#?vi?student.txt?? ID???Name????gender??Mark 1????furong??F???????85? 2????fengj???F???????60 3????cang????F???????70
查看全部 -
[root@localhost?~]#?cut?[選項]?文件名
選項:
-f 列號:提取第幾列
-d 分隔符:按照指定分隔符分割列
查看全部 -
幾個例子
匹配日期格式 YYYY-MM-DD
[0-9]\{4\}-[0-9}\{2\}-[0-9]\{2\}
匹配 IP 地址
[0-9]\{1,3\}\.[0-9]\{1,3}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\
查看全部 -
“\{n,m\}”匹配其前面的字符至少出現 n 次,最多出現 m 次
"sa\{1,3\}i"
匹配字母 s 和字母 i 之有最少ー個 a,最多三個 a
查看全部 -
“\{n,\}”表示其前面的字符出現不小于 n 次
"^[0-9]\{3,\}[a-z]"
匹最少用連續三個數字頭的行
查看全部 -
“\{n}”表示其前面的字符恰好出現 n 次
"a\{3\}"
匹配 a 字連續現三次的字符串
“a\{3\}”表示字母 a 至少重復 3 次
"[0-9]\{3\}"
匹配包含連續的三個數字的字符串
查看全部 -
“\”轉義符
"\.$"
匹配使用“.”結尾的行
查看全部 -
“[^]”匹配除中括號的字符以外的任意一個字符
"^{^a-z}"
匹配不用小寫字母開頭的行
"^[^a-zA-Z]"
匹配不用字母開頭的行
查看全部
舉報