grep 命令
选项 | 意义 |
-c | 匹配行的数量 |
-i | 忽略大小写 |
-h | 查询多文件时不显示文件名 |
-l | 只列出匹配的文件名,不列匹配行 |
-n | 列出匹配行,并列出行号 |
-s | 不显示不存在或无匹配的错误信息 |
-v | 显示不包含匹配文本的所有行 |
-w | 匹配整词 |
-r | 递归搜索,搜子目录 |
-E | 支持扩展的正则表达式 |
-F | 不支持正则表达式 |
grep -nE "^\w+@\w+\.\w+$" a.txt
sed -n '/hello/=' a.txt 打印行号
sed -n '/hello/p' a.txt 打印内容
sed -n '$p' a.txt 打印最后一行
sed -n '/zbq/,$p' a.txt 从匹配的zbq行到最后一行
[plain]
-
#!/bin/sed -f
-
/zbq:/i\
-
we insert a new line.
在匹配行上面插入 we insert a new line
[plain]
-
sed -n 's/hello/world/w b.txt' a.txt
把 匹配hello行替换world行 并输出到 b.txt中
[plain]
-
sed '/hello/r b.txt' a.txt
把匹配的hello用文本b.txt替换
[plain]
-
ifconfig | grep 'inet addr' | sed 's/^.*inet addr://g' | sed 's/Mask.*$//g' | sed 's/Bcast.*//g'
只显示ip
awk命令
变量 | 描述 |
---|---|
$n | 当前记录的第n个字段,字段间由FS分隔。 |
$0 | 完整的输入记录。 |
ARGC | 命令行参数的数目。 |
ARGIND | 命令行中当前文件的位置(从0开始算)。 |
ARGV | 包含命令行参数的数组。 |
CONVFMT | 数字转换格式(默认值为%.6g) |
ENVIRON | 环境变量关联数组。 |
ERRNO | 最后一个系统错误的描述。 |
FIELDWIDTHS | 字段宽度列表(用空格键分隔)。 |
FILENAME | 当前文件名。 |
FNR | 同NR,但相对于当前文件。 |
FS | 字段分隔符(默认是任何空格)。 |
IGNORECASE | 如果为真,则进行忽略大小写的匹配。 |
NF | 当前记录中的字段数。 |
NR | 当前记录数。 |
OFMT | 数字的输出格式(默认值是%.6g)。 |
OFS | 输出字段分隔符(默认值是一个空格)。 |
ORS | 输出记录分隔符(默认值是一个换行符)。 |
RLENGTH | 由match函数所匹配的字符串的长度。 |
RS | 记录分隔符(默认是一个换行符)。 |
RSTART | 由match函数所匹配的字符串的第一个位置。 |
SUBSEP | 数组下标分隔符(默认值是\034)。 |
awk [-F 域分割符] 'awk程序段' 输入文件
awk -f awk脚本文件 输入文件
./awk脚本文件 输入文件
[plain]
-
awk '{print $1,$2}' c.txt
打印第一和第二域 $0是全域
[plain]
-
awk -F"\t" '{print $1}' c.txt
打印以tab键分割的域
[plain]
-
awk 'BEGIN {FS=","} {print $1}\' c.txt
打印以,域
[plain]
-
awk 'BEGIN {FS=":"} $1~/bin/' /etc/passwd
打印以【:】为域 第一域匹配bin字符
[plain]
-
awk 'BEGIN {FS=":"} {if ($3~10||$4~7) print $0}' /etc/passwd
打印以【:】为域 第三域匹配字符串10 第四域匹配字符串7
[plain]
-
awk '/^$/{print x+=1}' c.txt
打印空白行 行数
[plain]
-
#!/usr/bin/awk -f
-
BEGIN {FS=","}
-
{
-
total=$2+$3+$4
-
avg=total/3
-
print $1,avg
-
}
把第2,3,4域相加取平均值
[plain]
-
awk 'BEGIN {FS=","} {print NF,NR,$0} END {print FILENAME}' c.txt
以,为分割符 打印,行号,全部 最后打印文件名
fps = 1
fps = 2
fps = 3
fps = 4
fps = 5
[plain]
-
awk -F"=" '{s+=$2} END {printf"avg=%.2f\n", s/NR}'
统计 fps的平均数