paste
paste 命令用于将多个文件或标准输入的内容按行并排拼接在一起,常用于数据列合并,简单来说就是按列合并文本
paste [选项] [文件1] [文件2] ...文件1、文件2等:要合并的文本文件- 如果用
-作为文件名,表示从标准输入读取
| 选项 | 作用说明 |
|---|---|
-d LIST |
指定分隔符列表,代替默认的 TAB |
-s |
串行处理,将每个文件的所有行拼接为一行后再输出 |
--help |
显示帮助信息 |
--version |
显示版本信息 |
LIST是想要使用的一个或多个字符(如,、;、空格等) 当LIST是多个字符时,它们会循环使用
示例数据:
-- file1.txt --ABCD
-- file2.txt --123
-- file3.txt ---xyz1. 基本并排合并(默认以 Tab 分隔)
paste file1.txt file2.txt输出:
A 1B 2C 3D2. 指定分隔符为逗号
paste -d "," file1.txt file2.txt输出:
A,1B,2C,3D,3. 多个分隔符循环使用
paste -d ",:" file1.txt file2.txt file3.txt输出:
A,1:xB,2:yC,3:zD,:使用
,连接前两个文件,使用:连接后两个,循环使用
4. 按行合并(-s)
paste -s file1.txt输出:
A B C Dpaste -d',' -s file1.txt file2.txt输出:
A,B,C,D1,2,3paste -d'+' -s file2.txt | bc输出:
6bc 是 Linux/Unix 系统下的一个任意精度计算器语言
5. 从标准输入合并
cat file1.txt | paste - file2.txt输出:
A 1B 2C 3D将
file1.txt内容作为第一个文件,从标准输入读取,与file2.txt合并
man paste- GNU Coreutils - paste