Cut join

215 阅读1分钟

cut join paste

测试文本

[root@izwz92w1juq9pnp7y5memdz ~]# cat a1.txt 
hell o,world 
do you want, to go shopping
1423 42,352

cut

打印输出文本文件每行的特定范围内容

-b : 指定一个特定字节区间范围

-c : 指定一个特定字符区间范围

-f : 制定一个特定域范围

-n : 和-b一起使用 不分割多字节字符

[root@izwz92w1juq9pnp7y5memdz ~]# cut -b 1-2 a1.txt 
he
do
14
[root@izwz92w1juq9pnp7y5memdz ~]# cut -c 1-3 a1.txt 
hel
do 
142
[root@izwz92w1juq9pnp7y5memdz ~]# cut -c 1,3 a1.txt 
hl
d 
12
[root@izwz92w1juq9pnp7y5memdz ~]# cut -b 2- a1.txt 
ell o,world 
o you want, to go shopping
423 42,352
[root@izwz92w1juq9pnp7y5memdz ~]# cut -d "," -f 1 a1.txt 
hell o
do you want
1423 42

join

找出两个文件中,指定栏位内容相同的行,并加以合并,再输出到标准输出设

-t : 制定分隔符

-a : 除了显示原来的输出内容之外,还显示指令文件中没有相同栏位的行。

-i : 忽略大小写

[root@izwz92w1juq9pnp7y5memdz ~]# cat name_us.txt 
1 jack
2 maria
4 lincon
[root@izwz92w1juq9pnp7y5memdz ~]# cat name_en.txt 
1 jieke
2 mali
3 jion
[root@izwz92w1juq9pnp7y5memdz ~]# join name_en.txt name_us.txt 
1 jieke jack
2 mali maria
[root@izwz92w1juq9pnp7y5memdz ~]# join -a1 -a2 name_en.txt name_us.txt 
1 jieke jack
2 mali maria
3 jion
4 lincon
[root@izwz92w1juq9pnp7y5memdz ~]# join -a1 name_en.txt name_us.txt 
1 jieke jack
2 mali maria
3 jion
[root@izwz92w1juq9pnp7y5memdz ~]# join -a1 -o 1.1 2.2 name_en.txt name_us.txt 
1 jack
2 maria
3 
[root@izwz92w1juq9pnp7y5memdz ~]# join -t ' ' name_en.txt name_us.txt 
1 jieke jack
2 mali maria