Mam poniżej skrypt do łączenia dwóch plików.Linux awk łączy dwa pliki
awk -F"\t" '
{key = $1}
!(key in result) {result[key] = $0; next;}
{ for (i=2; i <= NF; i++) result[key] = result[key] FS $i }
END {
PROCINFO["sorted_in"] = "@ind_str_asc" # if using GNU awk
for (key in result) print result[key]
}
' $1 $2 > $3
Pierwsza kolumna jest kluczowa i zawiera od 1 do 2 USD. Ale jeśli kolumna 2 USD ma klucz, ale kolumna $ 1 nie ma klucza.
następnie również łączy się z wyjątkiem 1 $ wiersza.
Chcę połączyć tylko jeden klucz o wartości 1 USD. Jak mogę po prostu połączyć te dwa pliki?
Na przykład
Plik 1
Key Column1 Column2 Column3
Test1 500 400 200
Test2 499 400 200
Test5 600 200 150
Test6 600 199 150
Test7 599 199 100
File2
Key Column4 Column5
Test1 Good Good
Test2 Good Good
Test3 Good Good
Test4 Good Good
Test5 Good Good
Test6 Good Good
Test7 Good Good
Aktualny Kombajny
Key Column1 Column2 Column3 Column4 Column5
Test1 500 400 200 Good Good
Test2 499 400 200 Good Good
Test5 600 200 150 Good Good
Test6 600 199 150 Good Good
Test7 599 199 100 Good Good
Test3 Good Good
Test4 Good Good
Oczekiwany kombajnów.
Key Column1 Column2 Column3 Column4 Column5
Test1 500 400 200 Good Good
Test2 499 400 200 Good Good
Test5 600 200 150 Good Good
Test6 600 199 150 Good Good
Test7 599 199 100 Good Good
Dziękujemy!
Zdania 'Pierwsza kolumna jest klucz i oba 1 $ i 2 $. Ale jeśli kolumna 2 USD ma klucz, ale kolumna $ 1 nie ma klucza. to też łączy się z wyjątkiem 1 $ wiersza. "nic nie znaczę. Powinieneś je zmienić, aby odzwierciedlały, co masz na myśli, lub po prostu je usunąć. –