Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

229
Vistas
¿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 Respuestas
Responde la pregunta

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 Denunciar

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 Denunciar

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda