Saltar al contenido

awk imprimir apóstrofe/comilla simple

Siéntete libre de compartir nuestro espacio y códigos en tus redes, ayúdanos a aumentar esta comunidad.

Solución:

Aquí hay un par de maneras:

  1. Utiliza secuencias de escape octales. En sistemas basados ​​en ASCII donde ' está codificado como byte 39 (octal 047), eso sería:

    awk 'print "47" $0 "47"' input
    'string1'
    'string2'
    'string3'
    
  2. pasar la cotización como una variable

     $ awk -v q="'" 'print q $0 q' input
     'string1'
     'string2'
     'string3'
    

En el código awk, simplemente coloque el apóstrofo entre comillas dobles. Puede concatenar cadenas colocándolas una al lado de la otra (yuxtaposición), sin importar cómo se construyan estas cadenas (literal, variable, referencia de campo, expresión entre paréntesis, …).

 print "'" $0 "'" 

Si este código awk está incluido en un script de shell y el código awk está en un literal entre comillas simples, debe hacer arreglos para pasar el carácter de comillas simples a awk. Usar comillas simples-barra invertida-comillas simples-comillas simples ''' para incluir un carácter de comillas simples en un literal de shell entre comillas simples.

awk ' print "'''" $0 "'''" '

Alternativamente, exprese el código awk sin usar un carácter de comilla simple. Puede utilizar una barra invertida seguida de tres dígitos octales para representar cualquier carácter en un string literal en awk. Para una comilla simple en sistemas basados ​​en ASCII, eso es 47.

awk ' print "47" $0 "47" '

Tenga en cuenta que no necesita awk para eso.

Puedes usar el paste utilidad básica en su lugar:

 < input paste -d "'" /dev/null - /dev/null

Sería más eficiente y tendría menos limitaciones que awk-basado o sedsoluciones basadas en

Sección de Reseñas y Valoraciones

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *