sed工具行定位使用
sed -n '2'p file-只打印第二行,不打印其它的行
示例:
[root@bogon mnt]# nl file.txt 1 aaaaaaaaaaa 2 bbbbbbbbbbb 3 ccccccccccc 4 ddddddddddd 5 eeeeeeeeeee 6 fffffffffff 7 ggggggggggg 8 hhhhhhhhhhh [root@bogon mnt]# sed -n '2'p file.txt bbbbbbbbbbb
sed -n '1,3'p file-从第一行到第三行的记录
示例:
[root@bogon mnt]# sed -n '1,3'p file.txt aaaaaaaaaaa bbbbbbbbbbb ccccccccccc
sed -n '/a/'p file-打印匹配a的行
示例:
[root@bogon mnt]# sed -n '/a/'p file.txt aaaaaaaaaaa
sed -n '/g/,$'p file-打印匹配从g到最后的所有行
示例:
[root@bogon mnt]# sed -n '/g/,$'p file.txt ggggggggggg hhhhhhhhhhh
sed '1,2'd file-把第一行和第二行全部删除
示例:
[root@bogon mnt]# sed -n '1,2'd file.txt 此操作不会删除原始文件的内容
sed与awk的结合
示例:
[root@bogon mnt]# df Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda2 20439296 866716 18534296 5% / tmpfs 953276 0 953276 0% /dev/shm /dev/sda1 198337 28877 159220 16% /boot /dev/sr0 4363088 4363088 0 100% /media [root@bogon mnt]# df |sed -n '3'p|awk '{print $5}' 0% [root@bogon mnt]# df |sed -n '3'p|awk '{print int($5)}' 0
uniq行定位的使用
uniq -c file-打印紧挨重复行出现的次数
示例:
[root@bogon mnt]# uniq -c log.txt 5 192.168.100.1 4 192.168.100.2 1 192.168.100.3 6 192.168.100.4
uniq -d file-只打印重复的行
示例:
[root@bogon mnt]# uniq -d log.txt 192.168.100.1 192.168.100.2 192.168.100.4
awk '{print $1}' /var/log/httpd/access_log|sort|uniq -c
把apache网站的所有访问ip全部统计出来,并打印出统计次数
示例:
[root@bogon httpd]# cat access_log |awk '{print $1}'|sort|uniq -c 105 192.168.85.1 [root@bogon httpd]# cat access_log |awk '{print $1}'|sort|uniq -c 125 192.168.85.1
sort行定位的使用
sort file-把文件按字母的升序进行排序
示例:
[root@bogon mnt]# sort file.txt aaaaaaaaaaa aaaaaaaaaaa aaaaaaaaaaa aaaaaaaaaaa aaaaaaaaaaa aaaaaaaaaaaaaa bbbbbbbbbbb ccccccccccc ddddddddddd ddddddddddd eeeeeeeeeee fffffffffff ggggggggggg hhhhhhhhhhh vvvvvvvvvvvv
sort -r file-把文件按字母的降序进行排序
示例:
[root@bogon mnt]# sort -r file.txt vvvvvvvvvvvv hhhhhhhhhhh ggggggggggg fffffffffff eeeeeeeeeee ddddddddddd ddddddddddd ccccccccccc bbbbbbbbbbb aaaaaaaaaaaaaa aaaaaaaaaaa aaaaaaaaaaa aaaaaaaaaaa aaaaaaaaaaa aaaaaaaaaaa
cat file|sort -t: -k1 -r 为:进行分割后的第一列来倒序排序
示例:
[root@bogon mnt]# cat file1.txt |sort -t: -k1 -r e b c d e 5 d b c d e 4 c b c d e 3 b b c d e 2 a b c d e 1
split行定位的使用
split -3 log log
生成logab,logac.....logai等多个文件
把log文件每三行分割成一个文件,每个文件的前缀都是以log开头的
示例:
[root@bogon mnt]# split -3 log log [root@bogon mnt]# ls file1.txt log logab logad logaf file.txt logaa logac logae test.sh [root@bogon mnt]# nl logaa 1 192.168.100.1 2 192.168.100.1 3 192.168.100.1 [root@bogon mnt]# nl logab 1 192.168.100.1 2 192.168.100.1 3 192.168.100.2 [root@bogon mnt]# nl logac 1 192.168.100.2 2 192.168.100.2 3 192.168.100.2 [root@bogon mnt]# nl logad 1 192.168.100.3 2 192.168.100.4 3 192.168.100.4 [root@bogon mnt]# nl logae 1 192.168.100.4 2 192.168.100.4 3 192.168.100.4 [root@bogon mnt]# nl logaf 1 192.168.100.4 2 192.168.100.1 3 192.168.100.4