一,使用多种命令结合查看文件内容
a.cat查看/etc/passwd文件内容,且输出时带行号
[root@ls-Kk9vVGkm ~]# cat -b /etc/passwd | head -n10
1 root:x:0:0:root:/root:/bin/bash
2 bin:x:1:1:bin:/bin:/sbin/nologin
3 daemon:x:2:2:daemon:/sbin:/sbin/nologin
4 adm:x:3:4:adm:/var/adm:/sbin/nologin
5 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
6 sync:x:5:0:sync:/sbin:/bin/sync
7 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
8 halt:x:7:0:halt:/sbin:/sbin/halt
9 mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
10 operator:x:11:0:operator:/root:/sbin/nologin
b.使用more查看/etc/passwd内容,且每页显示10行
[root@ls-Kk9vVGkm ~]# more -d10 /etc/passwd
root:x:0:0:root:/root:/bin/bash
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
c.使用head/tail分别查看文件前5行内容和后5行内容
[root@ls-Kk9vVGkm ~]# head -n5 /etc/passwd
root:x:0:0:root:/root:/bin/bash
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
[root@ls-Kk9vVGkm ~]# tail -n5 /etc/passwd
sssd:x:992:988:User for sssd:/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
chrony:x:991:987::/var/lib/chrony:/sbin/nologin
rngd:x:990:986:Random Number Generator Daemon:/var/lib/rngd:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
d.使用grep查看/etc/passwd中和root相关的内容
[root@ls-Kk9vVGkm ~]# grep /sbin/nologin /etc/passwd
2.cut命令使用:
cut的作用就是剪切,具体说就是在文件中负责剪切数据用的。cut 命令从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段输出。
cut [选项参数] filename
参数 | 作用 |
-b | 分割字节 |
-c | 分割字符 |
-d | 按照分隔符分割 |
-f | 依据分隔后,取那些段落 |
示例:给定文件cut_data.txt且内容为:
No Name Score
1 zhang 20
2 li 80
3 wang 90
4 sun 60
使用默认定界符切割文件内容,且输出切割后的第一个字段
[root@ls-Kk9vVGkm lengkun]# cut -d' ' -f1 cut_data.txt
切割文件内容,且输出切割后的第一个字段和第三个字段
[root@ls-Kk9vVGkm lengkun]# cut -d' ' -f1,3 cut_data.txt
按字节切割:输出切割的第一个字节到第10个字节的内容
[root@ls-Kk9vVGkm lengkun]# cut -b 1-10 cut_data.txt
按字符切割:输出切割后的第一个字符和第5个字符的内容
[root@ls-Kk9vVGkm lengkun]# cut -c 1,5 cut_data.txt
按指定分界符去切割:内容如下, 输出第一个字段和第三个字段内容
No|Name|Score
1|zhang|20
2|li|80
3|wang|90
4|sun|60
[root@ls-Kk9vVGkm lengkun]# cut -d'|' -f1,3 cut_data.txt
3.uniq命令
uniq命令的主要作用:
uniq用于重复数据的处理,使用前最好先用sort进行排序
参数 | 作用 |
-c | 显示重复行重复的次数 |
-d | 只输出重复的行 |
-u | 显示不重复的行 |
-s | 忽略指定重复的字符 |
+-n | 表示前n个字段包括空白被忽略 |
使用: 新建文件uniq_data.txt,文件内容为
Welcome to Linux
Windows
Windows
Mac
Mac
Linux
使用uniq命令输出去重后的结果
[root@ls-Kk9vVGkm lengkun]# uniq uniq_data.txt
使用uniqmingl只输出重复的行
[root@ls-Kk9vVGkm lengkun]# uniq -d uniq_data.txt
使用uniq命令输出不重复的行
[root@ls-Kk9vVGkm lengkun]# uniq -u uniq_data.txt
使用uniq命令统计重复次数.
[root@ls-Kk9vVGkm lengkun]# uniq -c uniq_data.txt
4.sort命令
sort作为常用的排序命令,参数也有很多:
参数 | 作用 |
-n | 进行数字排序 |
-o | 将排序后的文件输出到指定文件 |
-u | 去除重复的行 |
-t | 指定分隔符 |
-k | 指定具体某一列/或某一行 |
-r | 按照降序进行排序,默认是升序 |
给定文件 num.txt, args.txt
文件内容:num.txt
1
3
5
2
4
文件内容:args.txt
test
args1
args2
args4
args4
args3
对num.txt进行排序,且将结果输出到sorted_num.txt中
[root@ls-Kk9vVGkm lengkun]# sort -n num.txt -o sorted_num.txt
对args.txt进行排序,且将结果输出到sorted_args.txt中
[root@ls-Kk9vVGkm lengkun]# sort -n args.txt -o sorted_args.txt
对num.txt和args.txt进行排序,且将结果输出到sorted_merge.txt中
[root@ls-Kk9vVGkm lengkun]# sort -n sorted_num.txt sorted_args.txt -m > sored_merge.txt
对args.txt排序后去重输出
[root@ls-Kk9vVGkm lengkun]# sort -u args.txt
合并sorted_args.txt和sorted_num.txt且输出
[root@ls-Kk9vVGkm lengkun]# sort -n sorted_num.txt sorted_args.txt
给定文件info_txt:按第二列作为key进行排序
No Name Score
1 zhang 20
2 li 80
3 wang 90
4 sun 60
[root@ls-Kk9vVGkm lengkun]# sort -k 2 info_txt