[ TIP ] Como postear mejor en un foro de linux.

Eliminando todos los comentarios del archivo de configuración antes de postear su contenido:

Supongamos que mi viejo amigo y proxy-caché de cabecera un día deja de funcionar y tengo que ir a preguntar a un foro a ver si alguien me da una mano. Sería una locura pedirle a alguien que encuentre la falla entre las 4775 líneas de configuración de mi archivo /etc/squid/squid.conf, (contadas con wc), dejo constancia:

~ # wc -l /etc/squid/squid.conf

4775 /etc/squid/squid.conf

De paso, por si alguien no conocía el comando, wc -Por las siglas en inglés de Word Count- cuenta palabras, lineas, caracteres e inclusive bytes.

Volviendo al tema, puedo eliminar todo lo que sean comentarios de un archivo de configuración ejecutando el siguiente comando:

grep -vh '^[[:space:]]*\(#\|$\)' /ruta/al/archivo_de_configuración

Poco amigable, imposible de recordar al primer intento. Bash de por medio, puedo crear un script que lea el archivo de configuración de 4000 y tantas líneas y me lo devuelva sin comentarios:

#!/bin/bash # Código para quitar todos los comentarios y líneas en blanco

grep -vh '^[[:space:]]*\(#\|$\)' "$@"

Y guardar ese script como /usr/bin/nocomentarios.sh, por ejemplo, de forma de tenerlo siempre a mano.

El archivo tiene que ser ejecutable:

chmod +x /usr/bin/nocomentarios.sh

Por último, cada vez que quiera eliminar los comentarios de un archivo, poniendo de nuevo el ejemplo del archivo de configuración de Squid, basta con hacer:

nocomentarios.sh /etc/squid/squid.conf

Y para muestra basta un botón dicen; Después de limpiar todos los comentarios, la cantidad de líneas no comentariadas de mi squid.conf son únicamente 47:

~ # grep -vh '^[[:space:]]*\(#\|$\)' /etc/squid/squid.conf | wc -l

47

Lo robé tomé prestado de los foros de Gentoo en su momento, y desde entonces lo uso siempre, no solo a la hora de postear algo, ayuda mucho también a depurar en caso de que algo salga mal….

3 comentarios

Deja una respuesta

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