参数及含义
grep 过滤
-i | 不区分大小写 |
---|---|
o | 查看过程,查看匹配内容 |
-v | 取反 |
-w | 以单词进行过滤 |
-n | 显示行号 |
-E | 支持扩展正则 |
-A | 显示目标行和目标行接下来的几行 -A2 |
-B | 显示目标行和目标行上面的几行 |
-C | -C2=-A2 -B2 |
-l | 只显示文件名,不显示文件内容 |
-R | 递归进行过滤(不能完全代替find) |
-c | 统计包含内容的行数 |
sed 过滤 替换(修改) -增删改查
-n | 不显示输出内容 |
---|---|
-r | 支持扩展正则 |
-i | 修改文件内容 -i.bak 先备份再修改文件内容 |
p | 打印 |
i | 插入,再你指定的行上一行增加内容 |
a | 追加,在你指定的行的下一行增加内容 |
c | 先清空当前行然后在写入内容 |
d | 删除 |
s###g 把什么替换成什么(s-替换 g-全局替换)
()和\1 后向引用
awk 过滤 取列 统计计算
取列 默认分隔符为空格
awk '{print
1,$2}' oldboy.txt 显示第一列和第二列
[root@oldboyznb /oldboy]# awk '{print$1}' oldboy.txt
m
I
I
my
our
my
not
my
[root@oldboyznb /oldboy]# awk '{print$1,$2}' oldboy.txt
m teacher!
I teach
I like
my blog
our size
my qq
not 4900000448.log
my god
awk 'NR=3{print$2}' oldboy.txt 显示第三行第二列
[root@oldboyznb /oldboy]# awk 'NR==3{print$2}' oldboy.txt
[root@oldboyznb /oldboy]#
awk '{print$NF}' 取最后一列
[root@oldboyznb /oldboy]# awk '{print$NF}' oldboy.txt
teacher!
teach
ball.log
http://oldboy.blog.51cto.com
http://blog.oldboyedu.com
49000448
4900000448.log
i
awk -F "[, ]" 'NR==4{print
2,$4}' oldboy.txt 指定逗号和空格为分隔符 在第四行找第1,2和第4列
找出/etc/passwd下第三列大于0小于1000的行
[root@oldboyznb /oldboy]# awk -F":" '$3<1000&&$3>0' /etc/passwd
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
abrt:x:173:173::/etc/abrt:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
chrony:x:998:996::/var/lib/chrony:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
[root@oldboyznb /oldboy]#
awk '{print
3}' 取第一列和第三列,空格用逗号代替