GNU/Linux >> Tutoriales Linux >  >> Linux

¿Imprimir una cadena que incluye comillas simples y otros caracteres especiales?

¿Cómo puedo escribir esto correctamente con un script de AIX? Mi requisito es escribir este comando en test.txt:

clock=$(prtconf -s | awk '{print $4,$5}')

Probé este comando:

print 'clock=$(prtconf -s | awk '{print $4,$5}')' > test.txt

La salida escrita en test.txt me da:

clock=$(prtconf -s | awk {print ,})

Si uso " " comillas:

print "clock=$(prtconf -s | awk '{print $4,$5}')"

Me da directamente a:

clock=3612 MHz

¿Cómo puedo solucionar esto?

Respuesta aceptada:

Debe seguir usando comillas simples, pero luego imprimir las que necesita en la salida "por separado", o usar comillas dobles y escapar de los signos de dólar.

Para la segunda opción:

print "clock=$(prtconf -s | awk '{print $4,$5}')" > test.txt

Para el primero:

print 'clock=$(prtconf -s | awk '''{print $4,$5}''')' > test.txt

(Eso es 'text' luego escapó de comillas simples ' luego 'other text' .)

En aras de la exhaustividad, tenga en cuenta que print expande las secuencias de escape de caracteres de barra invertida (esto no importa en su caso porque la cadena que desea imprimir no contiene ninguna barra invertida). Para evitar esto, use print -r .


Linux
  1. ¿Imprimir líneas entre (e incluyendo) dos patrones?

  2. ¿Cómo imprimir las líneas número 15 y 25 de cada 50 líneas?

  3. ¿Usando Sed con caracteres especiales?

  4. ¿Un comando para imprimir solo los últimos 3 caracteres de una cadena?

  5. Eliminar todos los caracteres especiales y mayúsculas y minúsculas de la cadena en bash

Comando id de Linux - Imprimir información de ID de usuario e ID de grupo

¿Envolviendo un comando que incluye comillas simples y dobles para otro comando?

¿Qué significan los caracteres especiales en Echo {a..z}?

Mostrar caracteres especiales ocultos en Vim

¿Cómo cambiar el nombre de todos los archivos con caracteres especiales y espacios en un directorio?

Caracteres de cola y comodines