日志处理工具集

sort 排序

可以依据不同的数据型态来排序

[root@www ~]# sort [-fbMnrtuk] [file or stdin]
选项不参数:
-f :忽略大小写
-b :忽略最前面的空格符部分;
-M :以月份的名字来排序,例如 JAN, DEC 等等的排序方法;
-n : 使用『纯数字』进行排序(默认是以文字型态来排序的);
-r :反向排序;
-u :就是 uniq ,相同的数据中,仅出现一行代表;
-t :分隔符,预设是用 [tab] 键来分隔;
-k :以那个区间 (field) 来进行排序的意思

uniq 去重

去重+统计数量

可以将重复的数据仅列出一个来显示,且可以进行统计
#uniq [-ic]
选项:
-i //忽略大小写
-c //进行统计

例如:我想要知道每个人登入服务器的总次数,可以这样:
[root@testhost ~]# last | cut -d ' ' -f1 |sort|uniq -c

cut

image
image
image

tr 字符转换

将冒号删除
[root@sharkyun ~]# head -n 1 /etc/passwd |tr -d ':'
rootx00root/root/bin/bash

将所有的 小写变成大写
[root@sharkyun ~]# head -n 1 /etc/passwd
root:x:0:0:root:/root:/bin/bash
[root@sharkyun ~]# head -n 1 /etc/passwd |tr '[a-z]' '[A-Z]'
ROOT:X:0:0:ROOT:/ROOT:/BIN/BASH
[root@sharkyun ~]#

xargs 参数替代

可以将标准的输出变为后面命令的参数
在与 find 命令配合是 xargs 与 -exec 的区别:

  • -exec
    在某些系统中,他对于所传递给他的参数的长度有限制,容易出现“参数太长”或“参数列溢出” 等错误信息
    并且 exec 会同时发起多个进程,这样就会耗系统资源
  • xargs: 只会发起一个进程,节省了系统的资源

xargs [-epn] command

选项

-O 把空格字符改变为一般字符
-e 后面跟字符串,当xargs分析到字符串时就停止,格式为 -e'test' 中间没有空格
-p 执行时询问
-n 后面接数字,定义command执行时,要使用几个参数


找出 /sbin 目录下的文档,并使用 ls -l 列出详细数据

#find /sbin -perm +7000 | ls -l //这样是不行的,因为 ls 命令不支持管道

#find /sbin -perm +7000 |xargs | ls -l //这样就行了

把找到的文件复制到 /test 目录下
#find /sbin -perm +7000 | cp `xargs` /test
#find /sbin -perm +7000 | cp $(xargs) /test
关于减号 - 的用途

可以作为 stdout 和 stdin

#tar -cvf - /home | tar -xvf -

你可能感兴趣的:(日志处理工具集)