一、sort命令
sort命令用来对文本文件进行排序,并将排序结果输出到标准输出,下面通过实例介绍sort各种参数的用法
- sort默认排序为首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出
$ cat sort.log |sort
aaccv
bbkk
ergefe
jsdhfh
qwqw
rrrr
rrrr
wewr
- sort -u 排序后去除重复结果
$ cat sort.log |sort -u
aaccv
bbkk
efergferg
ergefe
ergfewrg
ggggg
jsdhf
qwqw
rrrr
sefhuis
sssss
tttt
wewr
原sort.log
qwqw
wewr
aaccv
bbkk
rrrr
rrrr
ergefe
jsdhf
sefhuis
sssss
sssss
efergferg
ggggg
ggggg
ergfewrg
tttt
tttt
- sort -o 将排序后的内容输出覆盖到当前被排序文件内。(重定向只能新建一个文件)
yebing.li@QT-liyebing ~/shell_example
$ sort -u newSort.log -o newSort.log
yebing.li@QT-liyebing ~/shell_example
$ more newSort.log
aaccv
bbkk
C
efergferg
ergefe
ergfewrg
ggggg
h
jsdhf
qwqw
rrrr
sefhuis
sssss
tttt
wewr
- sort -r ,sort默认的排序是升序,-r改为降序
- sort -n 用数字类型来排序,默认是按照ASCII码排序
yebing.li@QT-liyebing ~/shell_example
$ cat number.log |sort -rn
133ee
6
5ff
5
4r
3
3
3
2e
2
2
2
1
0
yebing.li@QT-liyebing ~/shell_example
$ cat number.log |sort -n
0
1
2
2
2
2e
3
3
3
4r
5
5ff
6
133ee
- sort -k -t ,其中k为指定的列数(从1开始),t列之间的为分隔符,下面的例子为按照分割之后的第二列来排序
cat number_sep.log |sort -n -k 2 -t :
werw:1:3
sdfs:12:4
weq:66:88
wdqwfx:99:55
number_sep.log的内容:
sdfs:12:4
weq:66:88
wdqwfx:99:55
werw:1:3
- 其他参数
-f会将小写字母都转换为大写字母来进行比较,亦即忽略大小写
-c会检查文件是否已排好序,如果乱序,则输出第一个乱序的行的相关信息,最后返回1
-C会检查文件是否已排好序,如果乱序,不输出内容,仅返回1
-M会以月份来排序,比如JAN小于FEB等等
-b会忽略每一行前面的所有空白部分,从第一个可见字符开始比较。
参考 http://www.cnblogs.com/51linux/archive/2012/05/23/2515299.html
二、uniq命令
Note: 'uniq' does not detect repeated lines unless they are adjacent. You may want to sort the input
first, or use `sort -u' without `uniq'.
该命令必须在排序之后再使用。
-c, --count
prefix lines by the number of occurrences
-d, --repeated
only print duplicate lines
-D, --all-repeated[=delimit-method]
print all duplicate lines delimit-method={none(default),prepend,separate} Delimiting is done with blank lines
-f, --skip-fields=N
avoid comparing the first N fields
-i, --ignore-case
ignore differences in case when comparing
-s, --skip-chars=N
avoid comparing the first N characters
-u, --unique
only print unique lines
-z, --zero-terminated
end lines with 0 byte, not newline
-w, --check-chars=N
compare no more than N characters in lines
三、head命令
head 用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行。
-c, --bytes=[-]K
print the first K bytes of each file; with the leading `-', print all but the last K bytes of each file
-n, --lines=[-]K
print the first K lines instead of the first 10; with the leading `-', print all but the last K lines of each file
-q, --quiet, --silent
never print headers giving file names
-v, --verbose
always print headers giving file names
分享到:
相关推荐
接下来,我们将介绍一些常用的Linux shell命令用于分析这些日志。 1. **`grep`**:筛选特定信息。例如,找出所有返回404状态码的请求: ``` grep '404' /var/log/nginx/access.log ``` 2. **`awk`**:处理字段...
Apache日志分析手册详细介绍了如何在Linux环境下利用Apache服务器的访问日志来分析和诊断问题。在生产环境中,服务器的运行状况往往可以通过日志文件得到反映,特别是在发现访问量异常、响应缓慢或出现错误信息时。...
在Linux操作系统中,掌握一些基本且常用的命令是十分必要的,这些命令可以帮助用户高效地管理和操作系统。以下就是60个常见的Linux命令及其详细解释: 1. **ls**:列出目录内容,常用选项 `-l` 显示详细信息,`-a` ...
### Linux日志分析关键知识点详解 #### 一、引言 在现代IT环境中,日志文件扮演着极其重要的角色,特别是在Linux系统下。通过分析这些日志,管理员能够监控系统的健康状况、诊断问题以及防范安全威胁。本文将详细...
在Linux操作系统中,日志分析是一项重要的系统维护工作,它能帮助我们监控系统状态、排查问题和优化性能。本文以Apache访问日志(access_log)为例,介绍了15种常见的日志分析方法,以下是对这些方法的详细解释: 1. ...
### Linux日志分析知识点 #### 一、日志文件概览与重要性 Linux系统作为全球范围内广泛应用的操作系统之一,在服务器领域占据着举足轻轻的地位。为了更好地维护和管理这些系统,掌握其日志文件的管理和分析至关...
使用`cut`命令以特定字符(通常是空格或逗号)分隔日志条目,提取IP地址(通常是第一字段),然后使用`uniq -c`统计每个IP出现的次数,并通过`sort -rn`按降序排列,最后使用`head -20`取前20个最多访问的IP。...
本文将详细介绍一些常用的Shell命令及其在日志分析中的应用。 1. **less**: `less 文件名` 用于查看文件内容,按"q"退出。这比`cat`命令更实用,因为`less`允许上下滚动,而`cat`一次性显示整个文件内容。 2. **...
### Linux文本处理命令合集详解 #### diff/patch:查找/修补文本差异 - **diff** 命令用于比较两个文件之间的不同之处。 - `diff version1.txt version2.txt`:简单地列出两个文件之间的不同行。 - `diff -u ...
- `lsof`: 列出打开的文件,结合`awk`、`sort`、`uniq`和`head`命令可以统计并显示最常被引用的文件描述符。 #### 6. 用户密码批量更改 - `chpasswd`: 从文件中读取用户名和密码,批量修改用户密码,通常用于大规模...
### Linux 100个常用命令详解 #### 1. `ls` - 列出目录下的文件和子目录 - **用途**: 显示指定目录下的文件列表。 - **常用选项**: - `-a`: 显示所有文件及目录 (包括隐藏文件)。 - `-l`: 使用长格式列出文件详情...
### Linux常用命令全集 #### 引言 随着信息技术的发展,Linux作为一种开源的操作系统,在服务器领域及嵌入式系统中占据了举足轻重的地位。它不仅免费,而且因其稳定性、可靠性以及高性能等特点受到广泛欢迎。对于...
在Linux系统运维中,熟悉和掌握一系列常用的命令是至关重要的。这些命令可以帮助我们高效地管理系统、监控状态、查找和编辑文件,以及处理各种日常任务。以下是对标题和描述中涉及的一些关键Linux命令的详细说明: ...
使用`awk`命令可以提取日志中的IP地址,`sort`进行排序,`uniq -c`统计每个IP出现的次数,再用`sort -nr`按次数降序排列,最后`head -n 10`获取前10个。例如: ``` awk '{print $1}' access_log | sort | uniq -c...
以下是一些常用的Linux命令,它们可以帮助我们了解服务器的连接状态、请求来源、网络流量以及日志分析等关键信息。 **系统连接状态篇** 1. **查看TCP连接状态**: 使用`netstat -nat`命令可以查看所有活动的TCP...
`ls`命令是最常用的Linux命令之一,用于列出当前目录下的文件和子目录。通过添加选项如`-l`可以获取详细信息,`-a`可以显示隐藏文件。 ### 18. mkdir - 创建目录 `mkdir`命令用于创建新的目录,是文件组织的基本...
### Linux 常用命令详解 #### 一、文件管理 **1.1 基础指令** - **ls**: 列出当前目录下的文件和目录。这是一个非常基础且常用的命令,用于显示当前目录下的所有文件及子目录列表。默认情况下,只列出非隐藏文件...
"150个常用的Linux命令汇总" Linux 命令是 Linux 操作系统的核心组件之一,它们提供了对系统的控制和管理能力。以下是 150 个常用的 Linux 命令汇总,涵盖了文件和目录操作、查看文件及内容处理、文件压缩及解压缩...