Une dois arquivos com base na chave compartilhada

0

Eu tenho dois arquivos aos quais gostaria de participar com base no número da loja de padaria.

[Arquivo 1] bakedGoods.txt

1:Chocolate Cookies:111
2:Banana Muffins:222
3:Apple Pie:333
4:Strawberry Cheesecake:444
5:Pineapple Turnover:555

Onde a coluna 1 é o número do item, a coluna 2 é o nome do item e a coluna 3 é o número da loja.

[Arquivo 2] bakeryStores.txt

111:Cookies Cookies Cookies
222:Bellas Desserts Co.
333:Apples N' Sweets
444:Cheesecake Emporium
777:Estrellas Bakery
888:Suzy's Baked Goods

Onde a coluna 1 é o número da loja de padaria e a coluna 2 é o nome da padaria.

Meu objetivo é unir as informações que possuem o mesmo número de loja de padaria usando o comando join (suponho que seja o melhor caminho). Isso significa coluna 3 para o arquivo 1 e coluna 1 para o arquivo 2. Assim como , exiba uma mensagem "Não em estoque" para os campos vazios que não podem ser pareados. (Eu suponho que usando a opção -e "Não na loja" é o melhor caminho a seguir. O abaixo é o que eu estou tentando alcançar.

111:Chocolate Cookies:Cookies Cookies Cookies
222:Banana Muffins:Bellas Desserts Co.
333:Apple Pie:Apples N' Sweets
444:Strawberry Cheesecake:Cheesecake Emporium
Not in store
Not in store

Eu tento juntar os dois arquivos pelo número da loja, também estou usando a opção -e (para a mensagem), mas nada muda. Não vejo saída também.

Eu tentei join -1 3 -2 1 -e "Not in store" bakedGoods.txt bakeryStores.txt Eu entendo o que eu quero fazer e como fazê-lo, mas não sei por que ele não está exibindo nada. Normalmente, quando participo ou combino arquivos, sem acrescentar, posso ver o resultado imediatamente. Eu acrescentei, mas os dois arquivos permanecem os mesmos.

    
por Belle 23.10.2018 / 00:04

1 resposta

0

Responda a estas duas perguntas e você resolverá seu problema.

Qual é o delimitador de campo padrão (para join )? Como você muda isso?

    
por 23.10.2018 / 01:14