3.按行截取文件的工具
head
- 使用head输出文件内容的前面部分,默认打印前10行;当不指明文件或者文件名为一杠'-'时,读取标准输入。
- 用法
head [OPTION]... [FILE]...
-v
-c bytes
-n lines
tail
- 使用tail输出文件内容的后面部分,默认打印后10行;当不指明文件或者文件名为一杠'-'时,读取标准输入。
- 用法
tail [OPTION]... [FILE]...
-f, --follow[={name|descriptor}]
-c bytes
-n lines
-F
- tailf命令:类似tail –f,当文件不增长时并不访问文件,更节省系统资源
4.按列抽取文本的工具
cut
cut [OPTION]... [FILE]...
-d DELIMITER: 指明分隔符,默认tab
-f FILEDS:
混合使用:1-3,7
-c 按字符切割
--output-delimiter=STRING指定输出分隔符
paste
- 使用paste命令合并两个文件同行号的列到一行;默认使用tab键分隔
- 用法
paste [OPTION]... [FILE]...
-d 分隔符:指定分隔符,默认用TAB
-s : 所有行合成一行显示
示例:
paste f1 f2
paste -s f1 f2
paste -s file
如下面的示例:
[root@centos6 /data]$ cat -A testff
1$
2$
3$
4$
hello$
hi$
[root@centos6 /data]$ paste -s testff > testffgg
[root@centos6 /data]$ cat -A testffgg
1^I2^I3^I4^Ihello^Ihi$
[root@centos6 /data]$ paste -s -d: testff > testffgg
[root@centos6 /data]$ cat -A testffgg
1:2:3:4:hello:hi$
5.排序和统计文本内容
sort
- sort命令会把排序过的文本显示在STDOUT,不改变原始文件
- 用法
sort [options] file(s)
常用选项
-r 执行反方向(由上至下)整理
-R 随机排序
-n 执行按数字大小整理
-f 选项忽略(fold)字符串中的字符大小写
-u 选项(独特,unique)删除输出中的重复行
-t C 选项使用C做为字段界定符
-k
例子:
[root@centos8 /data]$ sort -t : -k3 -n /etc/passwd | head -n5
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@centos8 /data]$ sort -t : -k3 -n /etc/passwd | head -n5 | cut -d: -f3
0
1
2
3
4