前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux命令+工作实用(持续更新)

Linux命令+工作实用(持续更新)

原创
作者头像
似水流年o
修改2024-04-03 19:34:23
930
修改2024-04-03 19:34:23
举报
文章被收录于专栏:编程学习收获编程学习收获

Linux命令 + 工作场景下的文本处理,提高效率

  • 多文本合并 (类似于win中列操作)
代码语言:javascript
复制
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

  • 单行<->多行转化
代码语言:javascript
复制
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

  • (ip port)转化为' ("ip",port),' 格式
代码语言:javascript
复制
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),

  • 两个文本数据的内连接查询
代码语言:javascript
复制
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 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档