paste
?是 Linux 中一個用于水平合并文件內容的命令行工具,它將多個文件的對應行以并行方式拼接,默認用制表符(Tab)分隔。
1. 基本語法
paste [選項] 文件1 文件2 ...
2. 常用選項
選項 | 說明 |
---|---|
-d | 指定拼接后的分隔符(默認是 Tab) |
-s | 按行順序合并(將單個文件的多行轉為單行) |
- | 從標準輸入(stdin)讀取數據(結合管道使用) |
--help | 顯示幫助信息 |
?3. 核心功能示例
示例1:合并兩個文件(默認制表符分隔)
假設文件?file1.txt
?和?file2.txt
?內容如下:
# file1.txt ? ? ? # file2.txt
A ? ? ? ? ? ? ? ? 1
B ? ? ? ? ? ? ? ? 2
C ? ? ? ? ? ? ? ? 3
paste file1.txt file2.txt
?A ? ? ? 1
B ? ? ? 2
C ? ? ? 3
?示例2:指定自定義分隔符(-d
)
paste -d',' file1.txt file2.txt?
?A,1
B,2
C,3
?示例3:合并多個文件
合并三個文件(分隔符為?:
):?
?paste -d':' file1.txt file2.txt file3.txt
?示例4:按行合并單個文件(-s
)
?paste -s file1.txt
?A B C
?3. 對比其他工具
工具 | 用途 | 特點 |
---|---|---|
paste | 水平合并文件 | 簡單高效,適合并行拼接行 |
cat | 垂直合并文件 | 按順序拼接文件內容 |
pr | 分欄格式化文本 | 支持分頁和多列布局 |
join | 基于鍵值合并文件 | 類似數據庫的 JOIN 操作,需排序預處理 |
paste
?是處理多文件行級合并的利器,特別適合以下場景:
-
快速合并日志、表格或配置文件。
-
生成結構化數據組合(如 CSV)。
-
結合管道流式處理數據。
掌握?-d
?和?-s
?選項后,可靈活應對各類文本拼接需求!
?