GNU/Linux >> Tutoriales Linux >  >> Linux

Imprimir archivos sin comentarios y líneas vacías en Linux

Cuando muestra un código fuente o el contenido de un archivo de configuración en la salida estándar usando cat comando, verá todo en ese archivo, incluidas las líneas comentadas y vacías, ¿verdad? Sí. ¿Qué sucede si desea ver solo las líneas no comentadas, ignorando todas las demás? Bueno, es posible ignorar las líneas comentadas y vacías de la salida de un archivo. En esta breve guía, veremos cómo imprimir archivos sin comentarios y líneas vacías en Linux. Esto puede ser útil cuando desea revisar rápidamente un archivo de configuración que contiene muchos comentarios y líneas vacías.

¿Qué son los comentarios en la programación informática?

Si observa un código fuente o un archivo de configuración, notará que muchas líneas comienzan con un asterisco "*" o un hash "#" o una barra inclinada "/" o un punto y coma ";" . Estas líneas se conocen como Comentarios . En la programación informática, un comentario es una descripción o anotación legible por humanos que se utiliza para aclarar el propósito del código. Ayudan a los usuarios y otros programadores a comprender fácilmente lo que está haciendo el código. Generalmente, los compiladores e intérpretes ignorarán los comentarios y las líneas vacías. Son solo para programadores. La sintaxis de los comentarios varía en diferentes lenguajes de programación.

Ahora veamos cómo excluir u omitir estos comentarios y líneas vacías y mostrar solo las líneas que no están comentadas.

Imprimir archivos sin comentarios y líneas vacías en Linux

Déjame mostrarte el contenido de sources.list archivo de mi sistema Ubuntu:

$ cat /etc/apt/sources.list

Salida de muestra:

# deb cdrom:[Ubuntu 18.04.2 LTS _Bionic Beaver_ - Release amd64 (20190210)]/ bionic main restricted

# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.
deb http://it-mirrors.evowise.com/ubuntu/ focal main restricted
# deb-src http://in.archive.ubuntu.com/ubuntu/ bionic main restricted

## Major bug fix updates produced after the final release of the
## distribution.
deb http://it-mirrors.evowise.com/ubuntu/ focal-updates main restricted
# deb-src http://in.archive.ubuntu.com/ubuntu/ bionic-updates main restricted

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team. Also, please note that software in universe WILL NOT receive any
## review or updates from the Ubuntu security team.
deb http://it-mirrors.evowise.com/ubuntu/ focal universe
# deb-src http://in.archive.ubuntu.com/ubuntu/ bionic universe
deb http://it-mirrors.evowise.com/ubuntu/ focal-updates universe
# deb-src http://in.archive.ubuntu.com/ubuntu/ bionic-updates universe

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu 
## team, and may not be under a free licence. Please satisfy yourself as to 
## your rights to use the software. Also, please note that software in 
## multiverse WILL NOT receive any review or updates from the Ubuntu
## security team.
deb http://it-mirrors.evowise.com/ubuntu/ focal multiverse
# deb-src http://in.archive.ubuntu.com/ubuntu/ bionic multiverse
deb http://it-mirrors.evowise.com/ubuntu/ focal-updates multiverse
# deb-src http://in.archive.ubuntu.com/ubuntu/ bionic-updates multiverse

## N.B. software from this repository may not have been tested as
## extensively as that contained in the main release, although it includes
## newer versions of some applications which may provide useful features.
## Also, please note that software in backports WILL NOT receive any review
## or updates from the Ubuntu security team.
deb http://it-mirrors.evowise.com/ubuntu/ focal-backports main restricted universe multiverse
# deb-src http://in.archive.ubuntu.com/ubuntu/ bionic-backports main restricted universe multiverse

## Uncomment the following two lines to add software from Canonical's
## 'partner' repository.
## This software is not part of Ubuntu, but is offered by Canonical and the
## respective vendors as a service to Ubuntu users.
# deb http://archive.canonical.com/ubuntu bionic partner
# deb-src http://archive.canonical.com/ubuntu bionic partner

deb http://it-mirrors.evowise.com/ubuntu/ focal-security main restricted
# deb-src http://security.ubuntu.com/ubuntu bionic-security main restricted
deb http://it-mirrors.evowise.com/ubuntu/ focal-security universe
# deb-src http://security.ubuntu.com/ubuntu bionic-security universe
deb http://it-mirrors.evowise.com/ubuntu/ focal-security multiverse
# deb-src http://security.ubuntu.com/ubuntu bionic-security multiverse

¿Viste que muchas líneas están comentadas con el carácter "#"? Hace que el archivo sea menos legible. Este es solo un archivo pequeño, por lo que no es gran cosa. Pero cuando lee archivos de configuración realmente largos, por ejemplo, "httpd.conf" o "php.ini", tendrá que pasar por muchos comentarios y líneas vacías y es un poco confuso encontrar qué líneas están activas. y cuáles no.

Para filtrar todos los comentarios y líneas vacías para que no se muestren en la salida del archivo, use grep comando como a continuación:

$ grep "^[^#*/;]" /etc/apt/sources.list

Aquí,

  • el primero ^ carácter indica el comienzo de la línea en el archivo dado, es decir, /etc/apt/sources.list .
  • [^#*/;] - mostrará todas las líneas que comiencen con cualquier carácter que no sea estos cuatro caracteres "#" , "*" , "/" , ";" . En otras palabras, todas las líneas que comienzan con los caracteres "#" , "*" , "/" , ";" serán excluidos de la salida.

Salida de muestra del comando anterior:

deb http://it-mirrors.evowise.com/ubuntu/ focal main restricted
deb http://it-mirrors.evowise.com/ubuntu/ focal-updates main restricted
deb http://it-mirrors.evowise.com/ubuntu/ focal universe
deb http://it-mirrors.evowise.com/ubuntu/ focal-updates universe
deb http://it-mirrors.evowise.com/ubuntu/ focal multiverse
deb http://it-mirrors.evowise.com/ubuntu/ focal-updates multiverse
deb http://it-mirrors.evowise.com/ubuntu/ focal-backports main restricted universe multiverse
deb http://it-mirrors.evowise.com/ubuntu/ focal-security main restricted
deb http://it-mirrors.evowise.com/ubuntu/ focal-security universe
deb http://it-mirrors.evowise.com/ubuntu/ focal-security multiverse

¿Ver? Todos los comentarios y líneas vacías se han ido. Ahora la salida es bastante legible.

Echa un vistazo a la siguiente captura de pantalla:

En el lado izquierdo, verá el contenido del archivo con comentarios y líneas vacías. A la derecha, todos los comentarios y líneas vacías se ignoran con "grep" comando.

Prefiero la forma grep de filtrar las líneas innecesarias que se muestran en la salida. También puedes hacerlo usando awk y sed comandos también.

Para imprimir el contenido del archivo excluyendo todos los comentarios y líneas vacías con "awk" comando, ejecutar:

$ awk '$1 ~ /^[^;#]/' /etc/apt/sources.list

Salida de muestra:

Para mostrar las líneas comienza sin comentarios usando "sed" comando, ejecutar:

$ sed -e '/^#/d' /etc/apt/sources.list

Para obtener más detalles de uso, consulte la página del manual del comando respectivo.

$ man awk
$ man grep
$ man sed

Espero que esto ayude.


Linux
  1. Mover archivos en Linux sin mv

  2. ¿Imprimir el contenido del archivo sin la primera y la última línea?

  3. Linux:¿directorios estándar y/o comunes en sistemas operativos Unix/linux?

  4. Cree y extraiga archivos tar.gz y tar.bz2 en ubuntu linux

  5. Comprobación de repositorios y registros de Linux

Cómo truncar archivos (vacíos) en Linux

Cómo servir rápidamente archivos y carpetas a través de HTTP en Linux

Instale Samba en Ubuntu 20.04 y comparta archivos en Linux y Windows

Cómo eliminar líneas vacías en archivos usando Grep, Sed y Awk

Encuentre archivos y directorios en Linux fácilmente

Xine Multimedia Software:reproduce archivos de audio y video en Ubuntu Linux