[英]write a two column file from two files using awk
我有兩個文件,每個文件只有一欄
1
2
3
和
4
5
6
我想寫一個同時包含兩個元素的唯一文件
1 4
2 5
3 6
我認為用awk應該真的很簡單。
您可以嘗試paste -d ' ' <file1> <file2>
。 (如果沒有-d ' '
則分隔符為制表符。)
對於給定的示例, paste
可以正常工作,但是它不能很好地處理可變長度的線。 一個不錯的鮮為人知的core-util pr
提供了更靈活的解決方案:
$ pr -mtw 4 file1 file2
1 4
2 5
3 6
可變長度示例:
$ pr -mtw 22 file1 file2
10 4
200 5
300,000,00 6
既然您問過awk
這就是一種方法:
$ awk '{a[FNR]=a[FNR]$0" "}END{for(i=1;i<=length(a);i++)print a[i]}' file1 file2
1 4
2 5
3 6
使用awk
awk 'NR==FNR { a[FNR]=$0;next } { print a[FNR],$0 }' file{1,2}
NR==FNR
將確保我們的第一個操作語句僅對第一個文件運行。 a[FNR]=$0
,我們將第一個文件插入到數組中,行號為索引
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.