-
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]"
匹配不用字母开头的行
查看全部
举报