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

170
Vistas
Reemplazar solo el comienzo de una línea

Estoy luchando con un comando sed. Estoy tratando de lograr esto:

Input: 03:23PM

Output: 15:23PM

Mi comando sed que he probado:

echo $line | sed 's/03:..PM/15:..PM/g

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Para recordar parte de la prueba de reemplazo, use paréntesis. Para referirse al primer par de paréntesis, use \1 :

 sed 's/03:\(..\)PM/15:\1PM/g'

De hecho, puede hacer que tanto : como PM parte del grupo de captura:

 sed 's/03\(:..PM\)/15\1/g'
over 4 years ago · Santiago Trujillo Denunciar

0

Usando sed

 $ sed '/[0-9:]*[AP]M/s/^[^:]*/15/' <<< $line 15:23PM

O usando la solución @dawg para manejar múltiples rangos

 sed "/PM/s/^[^:]*/echo \$((&+12))/e" <<< $line 15:23PM
over 4 years ago · Santiago Trujillo Denunciar

0

awk para que obtenga una adición real y pueda detectar AM vs PM :

 echo '03:23PM 11:33PM 03:23AM' | awk 'BEGIN{FS=OFS=":"} /PM/ && $1<12 {$1=$1+12} 1'

Huellas dactilares:

 15:23PM 23:33PM 03:23AM
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