Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

251
Views
¿Hay alguna forma de eliminar el encabezado duplicado en un archivo en Unix?

¿Cómo puedo eliminar varios encabezados de un archivo? Traté de usar el siguiente código después de encontrarlo en ¿Cómo puedo eliminar líneas duplicadas en un archivo en Unix? .

 awk '!x[$0]++' file.txt

Está eliminando todos los registros duplicados en el archivo. Pero en mi caso, solo necesito que se eliminen los duplicados del encabezado, no los registros duplicados en el archivo. Por ejemplo, tengo un archivo con los siguientes datos:

 column1, column2, column3, column4, column5 value11, value12, value13, value14, value14 value21, value22, value23, value24, value25 value31, value32, value33, value34, value35 value41, value42, value43, value44, value45 value51, value52, value53, value54, value55 value21, value22, value23, value24, value25 column1, column2, column3, column4, column5 value11, value12, value13, value14, value14 value21, value22, value23, value24, value25 column1, column2, column3, column4, column5 column1, column2, column3, column4, column5

Estoy esperando la salida de la siguiente manera:

 column1, column2, column3, column4, column5 value11, value12, value13, value14, value14 value21, value22, value23, value24, value25 value31, value32, value33, value34, value35 value41, value42, value43, value44, value45 value51, value52, value53, value54, value55 value21, value22, value23, value24, value25 value11, value12, value13, value14, value14 value21, value22, value23, value24, value25
over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

Si sabe que la primera línea contiene el encabezado, simplemente elimine todas las demás instancias de eso.

 awk 'FNR==1 { header = $0; print } $0 != header' file

Si eso no funciona, díganos cómo podemos identificar una línea de encabezado. Si es solo una cadena estática, grep -vF 'that string' o si coincide con una expresión regular en particular, grep -v 'that regex' .

over 4 years ago · Santiago Trujillo Report

0

Esto podría funcionar para usted (GNU sed):

 sed -r '1h;1!G;/^(.*)\n\1/d;P;D' file
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!