Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

111
Visualizações
Uso del archivo 1 como índice para buscar el archivo 2 cuando el archivo 1 contiene información adicional

como puede leer en el título, estoy tratando con dos archivos. Ella es el ejemplo de cómo se ven.

archivo1:

Nombre (información adicional separada por una pestaña del nombre)

 Peter Schwarzer<tab>Best friend of mine

archivo2:

Nombre (seguido de un flotante separado por una tabulación del nombre)

 Peter Schwarzer<tab>1456

Entonces, lo que quiero hacer es usar el archivo 1 uno como índice para buscar el archivo 2. Si los nombres coinciden, debe escribirse en el archivo 3, que debe contener el nombre seguido del flotante del archivo 2 seguido de la información adicional del archivo 1. Entonces file3 debería verse así:

 Peter Schwarzer<tab>1456<tab>Best friend of mine

(todo separado por tabulación)

Probé grep -f para leer un patrón de un archivo y sin la información adicional funciona. Entonces, ¿hay alguna forma de obtener el resultado deseado con grep o AWK es la respuesta?

Gracias de antemano, Julián.

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

prueba esta línea, no probé, pero debería ir:

 awk -F'\t' -v OFS="\t" 'NR==FNR{n[$1]=$2;next}$1 in n{print $0,n[$1]}' file1 file2 > file3
over 4 years ago · Santiago Trujillo Relatório

0

¡Prueba este awk one liner!

 awk -v FS="\t" -v OFS="\t" 'FNR==NR{ A[$1]=$2; next}$1 in A{print $0,A[$1];}' file1.txt file2.txt > file3.txt
over 4 years ago · Santiago Trujillo Relatório

0

Para mí, esto parece un trabajo para join :

 join -t '\t' file1 file2

Esto supone que file1 y file2 están ordenados. Si no, ordénalos primero:

 sort -o file1 file1 sort -o file2 file2 join -t '\t' file1 file2

Si no puede modificar el file1 y el archivo file2 (si necesita dejarlos en su estado original sin ordenar), use un archivo temporal:

 tmpfile=/tmp/tf$$ sort file1 > $tmpfile sort file2 | join -t '\t' $tmpfile -

Si join dice "especificación de carácter de tabulación ilegal", tendrá que usar join -t ' ' donde escribe una pestaña real entre comillas simples (y dependiendo de su shell, es posible que tenga que usar control-V antes de esa pestaña).

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda