Siempre que sea necesario compartir fragmentos de código en línea, probablemente lo primero que nos venga a la mente sea Pastebin.com, el sitio para compartir texto en línea lanzado por Paul Dixon. en 2002. Ahora, hay varios servicios alternativos para compartir texto disponibles para cargar y compartir fragmentos de texto, registros de errores, archivos de configuración, la salida de un comando o cualquier tipo de archivo de texto. Si comparte su código a menudo utilizando varios servicios similares a Pastebin, tengo buenas noticias para usted. Saluda a Wgetpaste , una utilidad BASH de línea de comandos para cargar fácilmente fragmentos de texto en servicios similares a pastebin. Con el script Wgetpaste, cualquiera puede compartir rápidamente fragmentos de texto con sus amigos, colegas o quien quiera ver/usar/revisar el código desde la línea de comandos en sistemas similares a Unix.
Instalación de Wgetpaste
Wgetpaste está disponible en el repositorio de Arch Linux [Community]. Para instalarlo en Arch Linux y sus variantes como Antergos y Manjaro Linux, simplemente ejecute el siguiente comando:
$ sudo pacman -S wgetpaste
Para otras distribuciones, tome el código fuente del sitio web de Wgetpaste e instálelo manualmente como se describe a continuación.
Primero descargue el último archivo tar de Wgetpaste:
$ wget http://wgetpaste.zlin.dk/wgetpaste-2.28.tar.bz2
Extraerlo:
$ tar -xvjf wgetpaste-2.28.tar.bz2
Extraerá el contenido del archivo tar en una carpeta llamada "wgetpaste-2.28".
Vaya a ese directorio:
$ cd wgetpaste-2.28/
Copie el binario wgetpaste a su $PATH, por ejemplo /usr/local/bin/ .
$ sudo cp wgetpaste /usr/local/bin/
Finalmente, hazlo ejecutable usando el comando:
$ sudo chmod +x /usr/local/bin/wgetpaste
Subir fragmentos de texto a servicios similares a Pastebin
Cargar fragmentos de texto usando Wgetpaste es trivial. Déjame mostrarte algunos ejemplos.
1. Subir archivos de texto
Para cargar cualquier archivo de texto usando Wgetpaste, simplemente ejecute:
$ wgetpaste mytext.txt
Este comando cargará el contenido del archivo mytext.txt.
Salida de muestra:
Your paste can be seen here: https://paste.pound-python.org/show/eO0aQjTgExP0wT5uWyX7/
Subir fragmentos de texto a los servicios de pastebin
Puede compartir la URL de pastebin a través de cualquier medio como correo, mensaje, whatsapp o IRC, etc. Quien tenga esta URL puede visitarla y ver el contenido del archivo de texto en el navegador web de su elección.
Aquí está el contenido del archivo mytext.txt en el navegador web:
Ver contenido de pastebin a través del navegador
También puedes usar 'tee' comando para mostrar lo que se está pegando, en lugar de cargarlos a ciegas.
Para hacerlo, use -t opción como la siguiente.
$ wgetpaste -t mytext.txt
2. Sube fragmentos de texto a diferentes servicios
De forma predeterminada, Wgetpaste cargará los fragmentos de texto en poundpython servicio.
Para ver la lista de servicios admitidos, ejecute:
$ wgetpaste -S
Salida de muestra:
Services supported: (case sensitive): Name: | Url: =============|================= bpaste | https://bpaste.net/ codepad | http://codepad.org/ dpaste | http://dpaste.com/ gists | https://api.github.com/gists *poundpython | https://paste.pound-python.org/
Aquí, * indica el servicio predeterminado.
Como puede ver, Wgetpaste actualmente admite cinco servicios para compartir texto. No los probé todos, pero creo que todos los servicios funcionarán.
Para subir los contenidos a otros servicios, por ejemplo bpaste.net , use -s opción como la siguiente.
$ wgetpaste -s bpaste mytext.txt Your paste can be seen here: https://bpaste.net/show/5199e127e733
3. Leer entrada desde stdin
Wgetpaste también puede leer la entrada de stdin.
$ uname -a | wgetpaste
Este comando cargará la salida del comando 'uname -a'.
4. Cargue el COMANDO y la salida del COMANDO juntos
A veces, es posible que deba pegar un COMANDO y su salida. Para hacerlo, especifique el contenido del comando entre comillas como se muestra a continuación.
$ wgetpaste -c 'ls -l'
Esto cargará el comando 'ls -l' junto con su salida al servicio pastebin.
Esto puede ser útil cuando desea que otros sepan claramente cuál fue el comando exacto que acaba de ejecutar y su resultado.
Como puede ver en el resultado, ejecuté el comando 'ls -l'.
5. Cargar archivos de registro del sistema, archivos de configuración
Como ya dije, podemos cargar cualquier tipo de archivo de texto, no solo un archivo de texto ordinario, en su sistema, como archivos de registro, la salida de un comando específico, etc. Digamos, por ejemplo, que acaba de actualizar su cuadro de Arch Linux y terminó con un sistema roto. Le pregunta a su colega cómo solucionarlo y quiere leer el archivo pacman.log. Aquí está el comando para cargar el contenido del archivo pacman.log:
$ wgetpaste /var/log/pacman.log
Comparta la URL de pastebin con su colega, para que revise el pacman.log y pueda ayudarlo a solucionar el problema revisando el archivo de registro.
Por lo general, el contenido de los archivos de registro puede ser demasiado largo y no desea compartirlos todos. En tales casos, solo use gato comando para leer la salida y usar tail Comando con -n cambie para definir el número de líneas para compartir y finalmente canalice la salida a Wgetpaste como se muestra a continuación.
$ cat /var/log/pacman.log | tail -n 50 | wgetpaste
El comando anterior cargará solo las últimas 50 líneas del archivo pacman.log.
6. Convertir URL de entrada a tinyurl
De forma predeterminada, Wgetpaste mostrará la URL completa de pastebin en la salida. Si desea convertir la URL de entrada en una URL pequeña, simplemente use -u opción.
$ wgetpaste -u mytext.txt Your paste can be seen here: http://tinyurl.com/y85d8gtz
7. Establecer idioma
De forma predeterminada, Wgetpaste cargará fragmentos de texto en texto sin formato .
Para enumerar los idiomas admitidos por el servicio especificado, use -L opción.
$ wgetpaste -L
Este comando enumerará todos los idiomas admitidos por el servicio predeterminado, es decir, poundpython (https://paste.pound-python.org/).
Podemos cambiar esto usando -l opción.
$ wgetpaste -l Bash mytext.txt
8. Deshabilite el resaltado de sintaxis o html en la salida
Como mencioné anteriormente, los fragmentos de texto se mostrarán en un formato de idioma específico (texto sin formato, Bash, etc.).
Sin embargo, puede cambiar este comportamiento para mostrar los fragmentos de texto sin formato usando -r opción.
$ wgetpaste -r mytext.txt Your raw paste can be seen here: https://paste.pound-python.org/raw/CUJhQ3jEmr2UvfmD2xCL/
Cargue y muestre la salida sin procesar
Como puede ver en el resultado anterior, no hay resaltado de sintaxis, ni formato html. Solo una salida sin procesar.
9. Cambiar los valores predeterminados de Wgetpaste
Todos los valores predeterminados (DEFAULT_{NICK,LANGUAGE,EXPIRATION}[_${SERVICE}] y DEFAULT_SERVICE)
se puede cambiar globalmente en /etc/wgetpaste.conf o por usuario en ~/.wgetpaste.conf archivos Estos archivos, sin embargo, no están disponibles por defecto en mi sistema. Supongo que tenemos que crearlos manualmente. El desarrollador ha proporcionado el contenido de muestra para ambos archivos aquí y aquí . Simplemente cree estos archivos manualmente con los contenidos de muestra dados y modifique los parámetros en consecuencia para cambiar los valores predeterminados de Wgetpaste.
10. Obtener ayuda
Para mostrar la sección de ayuda, ejecute:
$ wgetpaste -h