Cómo formatear la salida del comando jot

Cómo formatear la salida del comando jot

Tengo un comando muy simple jot -r 4 0 255que básicamente genera 4 números aleatorios en el rango de 0 a 255.

> jot -r 4 0 255
66
14
244
155

¿Cómo puedo formatear la salida a algo como esto 66.14.244.155:?

Respuesta1

Utilice un carácter de punto como cadena separadora entre los resultados del jotcomando. Abra la terminal y escriba:

jot -s "." 4 0 255

De los resultados de man jot:

-scadena
        Imprime datos separados por cadena. Normalmente, las nuevas líneas separan los datos.

En algunos otros casos, un carácter de espacio sería una buena cadena separadora.

Respuesta2

Hice un archivo de prueba tque contiene resultados similares.

$ cat t
66
14
244
155

Hay muchas formas diferentes de reformatear la salida, canalizada desde cualquier comando o catcomo estos ejemplos:

  • usa bash readcomo este

    $ cat t | while read i; do echo -n "$i."; done; echo
    66.14.244.155.
    

    para leer cada entrada y repetirla con un punto al final y sin nueva línea (agregando un eco simple al final para obtener una nueva línea al final).

  • translate cada nueva línea en un punto, nuevamente con un punto al final y sin nueva línea

    $ cat t | tr '\n' '.'
    66.14.244.155.
    
  • lo mismo pero con un muy cortoawk

    $ cat t | tr '\n' '.' | awk 'ORS="."'
    66.14.244.155.
    
  • tr(o awk) nuevamente, pero arregle el punto final en una nueva línea

    $ cat t | tr '\n' '.' | sed 's/.$/\n/'
    66.14.244.155
    
  • todo sedeso esaparentemente más rápido y menos complejosin punto final y una nueva línea

    $ cat t | sed -e ':a; N; $!ba; s/\n/./g'
    66.14.244.155
    
  • pastePuede usar sus opciones de sserial y deliminador, sin punto final y una nueva línea.

    $ cat t | paste -sd "." -
    66.14.244.155
    

Fuente

información relacionada