Text-Processing

如何同時排序和加入?

  • May 29, 2020

我有 2 個文件,一個有 2 列,另一個有 1 列。

第二個文件使用sort -u.

現在的任務是我需要將此列與未排序的第一個文件的第一列連接起來。

那麼語法是什麼?會join -j 1 file2.txt sort -s -n -k 1 file1.txt工作嗎?

我想要的輸出實際上是加入後文件 2 的第二列以及其中的唯一條目。

文件 2


1
2
3

文件 1


2  500
1  5000 
1  300
3  3000 
3  300
4  450

輸出


5000
300
500
3000

此處無需使用非標準流程替換 ( <(...)):

sort file1 | join -o1.2 - file2 | uniq
join file2.txt <(sort file1.txt) | awk '{print $2}'

引用自:https://unix.stackexchange.com/questions/49360