-
字符处理命令
排序命令sort
sort [选项] 文件名
选项:
-f 忽略大小写
-n 以数值型进行排序,默认使用字符串型排序
-r 反向排序
-t 指定分隔符,默认是制表符
-k n[,m] 按照指定的字段范围排序.从第n字段开始,m字段结束(不加m默认到行尾)
举例:
sort /etc/passwd #按字母顺序排列
sort - r /etc/passwd #取反按字母顺序排列
sort -n -t ":" -k "3,3" /etc/passwd #指定分隔符是":",用第三字段开头,第三字段结尾排序,也就是只用第三字段排序,-n代表数值排序
统计命令wc
wc [选项] 文件名
选项:
-l 只统计行数
-w 只统计单词数
-m 只统计字符数包括开空格
查看全部 -
df -h | awk '{print $5}' #df第五字段数据
df -h | grep "/dev/sda5" | awk '{print $5}' #只要根分区的第五段数据
df -h | grep "/dev/sda5" | awk '{print $5}' | cut -d "%" -f 1 #去掉%
awk 'BEGIN{print "test"}{print $2 "\t" $4}' student.txt #先执行BEGIN
awk 'END{print "test"}{print $2 "\t" $4}' student.txt #最后执行END
cat /etc/passwd | grep /bin/bash | awk 'BEGIN{FS=":"}{print $1 "\t" $3}' #先执行分隔符,FS内置变量标识":"
cat student.txt | grep -v Name | awk '$4>=70{print $2}' #不看名字,只看第二个字段大于70分的成绩
查看全部 -
正则表达式
查看全部 -
sed 命令的动作 6个动作~
查看全部 -
需要完整打印的时候:'%s\t%s\t%s\t%s\n' 最后换行
查看全部 -
sed字符串替换。
查看全部 -
awk先读取数据,然后执行动作。
所以才会出现如下图所示的情况。
查看全部 -
BEGIN和END。
条件
查看全部 -
固定分隔符。有规律的分隔符就用cut命令。
截取小应用,
查询/分区的硬盘使用情况。若大于百分之90,则报警。
查看全部 -
Printf
命令格式: printf '输出类型输出格式' 输出内容
输出类型:
- %ns : 输出字符串。n是数字只带输出几个字符。
-%ni :输出整数。 n是数字代指输出几个数字。
-%m.nf: 输出浮点型数。m和n是数字,指代输出整数位数和小数位数。
输出格式:
- \a: 输出警告声音
- \b:输出退格键(backspace键)
- \f:清屏
- \n:换行
- \r:回车
- \t:水平输出退格键(tab键)
- \v:垂直输出退格键(tab键)
查看全部 -
awk支持print和printf
查看全部 -
printf不支持数据流操作。所以无法用管道符。
查看全部 -
printf的输出类型和格式及内容
查看全部 -
关系运算符 cat student.txt | grep -v Name | awk '$4>=70{printf $2"\n"}'查看全部
-
在awk中,一般默认是制表符或者空格作为分隔符,假如说我们想要使用其他的符号作为分隔符,我们可以 awk " {FS=":"}{printf $1 "\t" $3 "\n"}'这样:就变成了分隔符,{FS=":"}意思是这个:分隔符的别名起名为FS。 当我们使用自己定义的分隔符时,一般都在条件前面加上BEGIN,否则第一行读取的数据会识别不了自己定义的分隔符,因此我们应该这样做awk "BEGIN {FS=":"}{printf $1 "\t" $3 "\n"}'查看全部
举报