Linux
命令 + 工作场景下的文本处理,提高效率
cat 1.txt
1
2
3
cat 2.txt
4
5
6
//多文本行合并
paste 1.txt 2.txt
'''
1 4
2 5
3 6
'''
//多文本行合并并指定分隔符','
paste -d ',' 1.txt 2.txt
1,4
2,5
3,6
//多文本合并 先将多行指定分隔符','变单行然后在合并
paste -sd ',' 1.txt 2.txt
1,2,3
4,5,6
cat 1.txt
1
2
3
cat 2.txt
1,2,3,4
//多行变单行
paste -sd ',' 1.txt
1,2,3
//单行变多行
sed 's/,/\n/g' 2.txt
1
2
3
4
cat 1.txt
192.168.1.101 8080
10.10.10.5 443
172.16.254.3 22
192.168.0.11 3306
10.0.0.2 80
172.16.100.200 21
192.168.2.1 8080
10.1.1.1 443
172.20.20.20 22
192.168.1.200 3306
awk '{print "(\"" $1 "\"," $2 "),"}' 1.txt //('\'表示转义符)
("192.168.1.101",8080),
("10.10.10.5",443),
("172.16.254.3",22),
("192.168.0.11",3306),
("10.0.0.2",80),
("172.16.100.200",21),
("192.168.2.1",8080),
("10.1.1.1",443),
("172.20.20.20",22),
("192.168.1.200",3306),
cat 1.txt
1
5
3
cat 2.txt
1 a
5 d
8 e
3 f
2 h
预期结果:
1 a
3 f
5 d
//步骤如下:
//1、将2.txt的多空格变成单空格
sed -i 's/ \+/ /' 2.txt
cat 2.txt
1 a
5 d
8 e
3 f
2 h
//2、对1.txt 2.txt的第一个字段进行排序 (不排序无法进行内连接)
sort -k 1 1.txt >3.txt
sort -k 1 2.txt >4.txt
cat 3.txt
1
3
5
cat 4.txt
1 a
2 h
3 f
5 d
8 e
//3、进行内连接
join -1 1 -2 1 -o 1.1 2.2 3.txt 4.txt
1 a
3 f
5 d
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。