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

216
Views
¿Cómo reemplazar "00" en los datos con "N/A" omitiendo la primera fila en sed?

Estoy trabajando con datos GWAS, Mis datos se ven así:

 IID, kgp11004425, rs11274005, kgp183005, rs746410036, kgp7979600 1 00 AG GT AK 00 32 AG GG AA 00 AT 98 TT AA 00 AG AA 3 GG AG 00 GT GG

Salida deseada:

 IID, kgp11004425, rs11274005, kgp183005, rs746410036, kgp7979600 1 N/A AG GT AK N/A 32 AG GG AA N/A AT 98 TT AA N/A AG AA 3 GG AG N/A GT GG

Aquí estoy tratando de reemplazar "00" con "N/A", pero como tengo 00 en la primera fila o en la fila del encabezado, también se reemplaza aquí como kgp11N/A4425, rs11274N/A5,kgp183N/A5... comando bash que usé:

 sed 's~00~N/A~g' allSNIPsFinaldata.csv

¿Puede alguien ayudarme a "cómo no incluir / omitir la primera fila o la fila del encabezado y aplicar este efecto? Por favor, ayuda

over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

Con 2 grupos de captura puedes usar este sed :

 sed -E 's~(^|[[:blank:]])00([[:blank:]]|$)~\1N/A\2~g' file IID, kgp11004425, rs11274005, kgp183005, rs746410036, kgp7979600 1 N/A AG GT AK N/A 32 AG GG AA N/A AT 98 TT AA N/A AG AA 3 GG AG N/A GT GG

Detalles:

  • (^|[[:blank:]]) : Inicio de coincidencia o un espacio en blanco en el grupo de captura #1
  • 00 : Partido 00
  • ([[:blank:]]|$) : Fin del partido o un espacio en blanco en el grupo de captura #2
  • \1N/A\2 : Reemplazo para devolver el valor del grupo de captura #1 seguido de N/A seguido del valor del grupo de captura #2
over 4 years ago · Santiago Trujillo Report

0

Puede especificar una dirección para seleccionar la(s) línea(s) a las que aplicar el comando. Por lo tanto, puede optar por excluir la primera línea de esta manera:

 sed '1!s~00~N/A~g' allSNIPsFinaldata.csv

Como nota al margen, me gustaría señalar que su ejemplo no es en realidad CSV a pesar del nombre del archivo; su encabezado está delimitado por comas, pero el resto del archivo usa espacios.

over 4 years ago · Santiago Trujillo Report

0

También puede omitir la primera fila a partir de la segunda:

 sed '2,$s~00~N/A~g' allSNIPsFinaldata.csv

Si no desea coincidencias de palabras parciales, puede implementar límites de palabras alrededor del 00 de diferentes maneras .

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!