paste

可用范围:不考虑列值,可直接合并

1.1. 列数相同

默认以tab分隔合并,-d参数可指定字符(空格也是字符)分隔合并
在这里插入图片描述

1.2. 列数不同

列数不同也会输出,若用-d参数带字符分隔也会带上分隔字符后输出

vi t1.txt
A ip a
B ip addr
C free -m
D df -h
E cat echo
F ps -ef

vi t2.txt
A lsblk lscpu
B top ifconfig
C find sed
G D vi vim

在这里插入图片描述

1.3. 合并列很多的情况

当合并的文件列数过多时,在合并处会出现“乱码”,此时需要手动处理一下
在这里插入图片描述
== ⚠:使用ctrl+v,ctrl+m打^M字符,否则无法识别 ==

# 修改合并后的文件,去掉^M字符
vi mergedcs.csv
:1,$ s/^M//g

awk

可用范围:文件存在重复字段,去重合并,需要指定列数【相当于合并后删除重复首列】
https://blog.csdn.net/qq_31573519/article/details/83002137

join

可用范围:文件存在重复字段,去重合并【相当于合并后删除重复首列】
== ⚠:join一次只能合并两个文件 ==

3.1. 合并首列相同字段

只合并存在相同字段的行,且相同字段为当前行的首字符(如下例中“D”行是匹配不到的)
在这里插入图片描述

3.2. 特殊字符分隔的一行同列

可用 -t 参数指定分隔的列字符进行合并
在这里插入图片描述

GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐