且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

文本处理

更新时间:2022-09-29 08:14:04

1、cut 分割

参  数 作  用
-b 指定字节,一个空格算一个字节,一个汉字算三个字节
-d 指定分隔符
-f 指定段号
-c 指定第几个字符

测试示例:

1
2
3
4
5
6
7
8
9
10
11
12
[root@server01 test]# cat 1.txt
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
[root@server01 test]# cat 1.txt | cut -d : -f 1,3
root:0
bin:1
daemon:2
[root@server01 test]# cat 1.txt | cut -c 2
o
i
a


2、sort 排序

参  数 作  用
-n 以数字排序
-r 反序
-t 分隔符
-kn1/-kn1,n2 指定排序段

测试示例:

1
2
3
4
5
6
7
8
9
10
11
12
[root@server01 test]# cat 1.txt | sort -n
adm:x:3:4:adm:/var/adm:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
[root@server01 test]# cat 1.txt | sort -nr
daemon:x:2:2:daemon:/sbin:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
[root@server01 test]# cat 1.txt | sort -t : -k3
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


3、wc 统计

参  数 作  用
-l 统计行数
-m 统计字符数
-w 统计词

测试示例:

1
2
3
4
5
6
[root@server01 test]# cat 1.txt | wc -l
10
[root@server01 test]# cat 1.txt | wc -m
385
[root@server01 test]# cat 1.txt | wc -w
10


4、uniq 去重

参  数 作  用
-c 统计行数

测试示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
[root@server01 test]# cat 2.txt | uniq -c
      2 hello
      1 world
      1 smile
      1 world
      1 good
      1 night
[root@server01 test]# cat 2.txt | sort |uniq -c
      1 good
      2 hello
      1 night
      1 smile
      2 world

只有相邻的才能使用uniq命令去重。


5、tee 重定向

tee命令和">"类似,但重定向的同时还在屏幕显示。

测试示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[root@server01 test]# cat 2.txt | tee 3.txt
hello
hello
world
smile
world
good
night
[root@server01 test]# cat 3.txt
hello
hello
world
smile
world
good
night


6、tr 替换

tr命令主要用于替换字符,如字符替换、大小写替换等。

测试示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[root@server01 test]# cat 3.txt
hello
hello
world
smile
world
good
night
[root@server01 test]# cat 2.txt | tr 'a-z' 'A-Z'
HELLO
HELLO
WORLD
SMILE
WORLD
GOOD
NIGHT


7、split 切割

参  数 作  用
-b 大小(默认单位字节)
-l 行数

测试示例:

1
2
3
4
5
6
7
8
9
10
[root@server01 test]# ls -lh [12].txt
-rw-r--r--. 1 root root 3.2M 6月  27 09:53 1.txt
[root@server01 test]# split -b 1M 1.txt
[root@server01 test]# ls x*
xaa  xab  xac  xad
[root@server01 test]# cat 1.txt| wc -l
135141
[root@server01 test]# split -l 10000 1.txt
[root@server01 test]# ls x*
xaa  xab  xac  xad  xae  xaf  xag  xah  xai  xaj  xak  xal  xam  xan











本文转自Grodd51CTO博客,原文链接:http://blog.51cto.com/juispan/1943587,如需转载请自行联系原作者