Escribir en archivos usando el comando cat en Linux

    Introducci贸n

    los cat El comando es una herramienta de Unix que se utiliza para manipular y mostrar el contenido del archivo. El comando recibe su nombre de la palabra “concatenar” porque tiene, entre otras cosas, la capacidad de concatenar archivos.

    En este art铆culo, veremos algunas formas sencillas de usar este comando para escribir texto en un archivo con ejemplos. Utilizando cat es muy sencillo, por lo que no se necesita programaci贸n previa o experiencia en Unix para seguirlo.

    Conceptos b谩sicos del comando cat

    Comenzando, resumiremos los conceptos b谩sicos del cat comando para ayudarlo si nunca lo ha usado antes o si necesita una breve descripci贸n general.

    Sintaxis

    La sintaxis se ve as铆:

    cat [OPTION]... [FILE]...
    

    Para buscar r谩pidamente la sintaxis o las opciones de comando, ejecute cat con la opci贸n de ayuda:

    $ cat --help
    

    O puede utilizar las p谩ginas del manual:

    $ man cat
    

    Estos comandos deben mostrar la siguiente lista de opciones:

      -A, --show-all           equivalent to -vET
      -b, --number-nonblank    number nonempty output lines, overrides -n
      -e                       equivalent to -vE
      -E, --show-ends          display $ at end of each line
      -n, --number             number all output lines
      -s, --squeeze-blank      suppress repeated empty output lines
      -t                       equivalent to -vT
      -T, --show-tabs          display TAB characters as ^I
      -u                       (ignored)
      -v, --show-nonprinting   use ^ and M- notation, except for LFD and TAB
          --help     display this help and exit
          --version  output version information and exit
    

    Visualizaci贸n del contenido del archivo en la salida est谩ndar

    Para imprimir el contenido de un archivo en la salida est谩ndar, simplemente nombre el archivo que desea mostrar:

    $ cat filename1 
    

    Si el archivo est谩 en un directorio diferente, tendr谩 que navegar hasta 茅l:

    $ cat /dir1/dir2/filename1 
    

    Esperamos ver el contenido de este archivo, impreso en la salida est谩ndar, en este caso, la terminal:

    Content of filename1!
    

    Este es el uso m谩s com煤n del comando cat, ya que facilita la visualizaci贸n del contenido de un archivo sin abrir un editor de texto.

    Escribir texto en un archivo con cat

    Para redirigir la salida del cat comando de la salida est谩ndar a un archivo, podemos usar el operador de redirecci贸n de salida >:

    $ cat filename1 > filename2
    

    Esto sobrescribir谩 el contenido de filename2 con el contenido de filename1, as铆 que aseg煤rate de que filename2 no contiene nada que te importar铆a perder. Ahora, filename2 contiene:

    Content of filename1!
    

    El operador de redirecci贸n de salida redirigir谩 la salida de cualquier comando que llamemos. Por ejemplo, prob茅moslo con el pwd comando, que imprime el nombre del directorio de trabajo actual:

    $ pwd > testfile
    

    Si echamos un vistazo al testfile ahora:

    $ cat testfile
    

    Contiene la ruta del directorio de trabajo actual:

    /home/kristina
    

    Si el archivo al que est谩 redirigiendo no existe, se crear谩 un archivo con ese nombre:

    $ cat filename1 > newfilename
    

    Concatenar archivos con cat

    Concatenar varios archivos usando cat es simple: simplemente enumere los archivos en el orden deseado:

    $ cat filename1 filename2 > outputfile
    $ cat outputfile
    

    Esto toma el filename1 y filename2 archivos, los concatena y genera la salida en un nuevo outputfile:

    Content of filename1!
    Content of filename2!
    

    Entrada est谩ndar entre archivos

    Cuando no aparece el nombre del archivo de entrada, cat comienza a leer desde la entrada est谩ndar hasta que alcanza EOF (fin del documento). La se帽al de fin de archivo es enviada por el ctrl+d atajo de l铆nea de comando:

    $ cat > outputfile
    Hello
    World
    $ cat outputfile
    

    Esto dar铆a como resultado:

    Hello 
    World
    

    Incluso podemos agregar texto de la entrada est谩ndar entre los archivos que deseamos concatenar usando - para indicar d贸nde esperamos la entrada est谩ndar. Si tenemos archivos como filename1, filename2y filename3, y queremos algo de texto de la entrada est谩ndar entre filename1 y filename2, escribir铆amos:

     $ cat filename1 - filename2 filename3 > output
     Text from standard input!
     $ cat output
    

    Comprobaci贸n output, veremos algo parecido a:

    Content of filename1!
    Text from standard input!
    Content of filename2!
    Content of filename3!
    

    Adjuntar archivos con cat

    En los ejemplos anteriores, el uso del operador de redirecci贸n descart贸 el contenido anterior de la output archivo. 驴Qu茅 pasa si queremos agregar el contenido nuevo al contenido anterior? Para agregar archivos usamos el >> operador:

    $ cat filename1 filename2 >> output
    $ cat output
    

    Y eso deber铆a resultar en:

    Original output file contents.
    Content of filename1!
    Content of filename2!
    

    Concatenar el contenido de todos los archivos del directorio con cat

    Para concatenar todo el contenido de todos los archivos en un directorio, usamos el comod铆n *:

    $ cat /dir1/dir2/* > output
    

    Para concatenar todo el contenido de todos los archivos en el directorio de trabajo actual, usar铆amos:

    $ cat * > output
    

    * tambi茅n se puede utilizar para concatenar todos los archivos con la misma extensi贸n:

    $ cat *.txt > output
    

    Enumeraci贸n de n煤meros de l铆nea

    La enumeraci贸n de todas las l铆neas de salida se realiza con la -n opci贸n:

    $ cat -n filename1 filename2 filename3 > output
    $ cat output
    

    Lo que escribir铆a algo en la l铆nea de:

         1  Content of filename1!
         2  Content of filename2!
         3  Content of filename3!
    

    Escriba $ al final de cada l铆nea

    los -E La opci贸n marca el final de cada l铆nea en el archivo con la $ personaje:

    $ cat -E filename1 filename2 filename3 > output
    $ cat output
    

    Clasificaci贸n de l铆neas de archivos concatenados por canalizaci贸n

    Este es un poco enga帽oso. los cat El comando no puede ordenar, pero podemos usar tuber铆as para lograrlo. El comando de tuber铆a (|) se utiliza para convertir la salida de un comando en la entrada de otro. Para ordenar las l铆neas de un archivo, usaremos ambos cat y otro comando, llamado sort:

    $ cat filename2 filename3 filename1 | sort > output
    $ cat output
    

    Esto resulta en:

    Content of filename1!
    Content of filename2!
    Content of filename3!
    

    Conclusi贸n

    Cat es una herramienta Unix simple pero poderosa que viene preinstalada en la mayor铆a de los sistemas. Se puede usar solo o en combinaci贸n con otros comandos que usan tuber铆as. Fabricado originalmente por Ken Thompson y Dennis Ritchie en 1971, catLas funcionalidades intuitivas y f谩ciles de usar resisten el paso del tiempo.

    En este art铆culo, hemos explorado algunas de las posibilidades de utilizar el cat comando para escribir texto en archivos, verificar contenido, concatenar y adjuntar archivos, as铆 como enumerar l铆neas y ordenarlas.

    Etiquetas:

    Deja una respuesta

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