文件处理命令详解
1. wc
命令
- 功能:统计指定文件中的字节数、字数、行数,并将统计结果显示输出。
- 语法:
wc [选项] 文件
常用选项:
-c
:统计字节数。-l
:统计行数。-m
:统计字符数(这个标志不能与-c
标志一起使用)。-w
:统计字数(一个字被定义为由空白、跳格或换行字符分隔的字符串)。-L
:打印最长行的长度。--help
:显示帮助信息。--version
:显示版本信息。
参数说明:
[选项]
:可选参数,用于指定统计内容。文件
:需要统计内容的文件。
示例:
[root@centos ~]# wc -c /etc/hosts 158 /etc/hosts [root@centos ~]# wc -l /etc/passwd 45 /etc/passwd [root@centos ~]# wc -m /etc/hostname 7 /etc/hostname [root@centos ~]# wc -w /etc/motd 10 /etc/motd [root@centos ~]# wc -L /etc/issue 21 /etc/issue
2. sort
命令
- 功能:对指定文件进行排序并将结果写到标准输出。
- 语法:
sort [选项]... [文件]...
常用选项:
-n
,--number-sort
:按字符串数值排序,与-g
区别为不转为浮点数。-g
,--general-number-sort
:按通用数值排序,支持科学计数法。-f
,--ignore-case
:忽略大小写,默认大写字母不同。-k
,--key=POS1[,POS2]
:排序从 POS1 开始,若指定 POS2,则 POS2 结束,否则以 POS1 排序。-t
,--field-separator=SEP
:指定列的分割符。-r
,--reverse
:降序排序,默认为升序。-h
,--human-numeric-sort
:使用易读性数字(例如:2K,1G)。-u
,--unique
:去除重复的行。-o
,--output=FILE
:将输出写入文件。
参数说明:
[选项]
:可选参数,用于指定排序方式和输出方式。[文件]
:需要排序的文件。
示例:
[root@centos ~]# sort file.txt [root@centos ~]# sort -n file.txt [root@centos ~]# sort -u file.txt [root@centos ~]# sort -o sorted_file.txt file.txt
其他示例:
$ sort -t ':' -k 3 -nr passwd ; 对 passwd 文件,以冒号 (:) 进行分割,然后对第三列以数字方式进行降序排序。 $ du -h | sort -hr ; 将当前目录下的文件夹按大小排序。 $ ps aux | sort -gr -k 4 | head -n 5 ; 查看系统进程中,内存占用最多的前 5 个进程信息。
3. uniq
命令
- 功能:可以去除排序过的文件中的重复行,因此
uniq
经常和sort
合用。 - 语法:
uniq [选项]... [文件]
常用选项:
-c
:统计出现的次数(count)。-d
:只显示被计算为重复的行。-D
:显示所有被计算为重复的行。-u
:显示唯一值,即没有重复值的行。-i
:忽略大小写。
参数说明:
[选项]
:可选参数,用于指定显示内容和格式。[文件]
:需要处理的文件。
示例:
$ sort file.txt | uniq ; 对 file.txt 文件,排序后去重。 $ sort file.txt | uniq -d ; 显示 uniq.txt 文件中重复的行。 $ sort file.txt | uniq -d -c ; 统计 uniq.txt 文件中重复行出现的次数。
4. diff
命令
- 功能:比较两个文件,并输出两个文件的不同的行。
- 语法:
diff [选项] [文件1或目录1] [文件2或目录2]
参数说明:
[选项]
:可选参数,用于指定比较方式和输出格式。[文件1或目录1]
:第一个要比较的文件或目录。[文件2或目录2]
:第二个要比较的文件或目录。
示例:
[root@centos ~]# diff file1.txt file2.txt 1c1 < Hello World --- > Hello CentOS
本文由mdnice多平台发布
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。