Поиск по сайту:

Загрузка фрагментов текста в службы, подобные Pastebin, из командной строки

Всякий раз, когда возникает необходимость опубликовать фрагменты кода в Интернете, первое, что приходит на ум, — это Pastebin.com, сайт для обмена текстовыми сообщениями, запущенный Полом Диксоном в 2002 году. Сейчас существует несколько альтернативных вариантов текста. доступны службы общего доступа для загрузки и обмена фрагментами текста, журналами ошибок, файлами конфигурации, выводами команд или любыми текстовыми файлами. Если вам часто приходится делиться своим кодом с помощью различных сервисов, подобных Pastebin, у меня для вас есть хорошие новости. Встречайте Wgetpaste, утилиту BASH командной строки, позволяющую легко загружать фрагменты текста в сервисы, подобные Pastebin. Используя скрипт Wgetpaste, любой может быстро поделиться фрагментами текста со своими друзьями, коллегами или с теми, кто хочет увидеть/использовать/просмотреть код из командной строки в Unix-подобных системах.

Установите Wgetpaste в Linux

Wgetpaste доступен в репозитории Arch Linux [Community]. Чтобы установить его в Arch Linux и его вариантах, таких как Antergos и Manjaro Linux, просто выполните следующую команду:

sudo pacman -S wgetpaste

Для других дистрибутивов возьмите исходный код с веб-сайта Wgetpaste и установите его вручную, как описано ниже.

Сначала загрузите последнюю версию tar-файла Wgetpaste:

wget http://wgetpaste.zlin.dk/wgetpaste-2.28.tar.bz2

Извлеките его:

tar -xvjf wgetpaste-2.28.tar.bz2

Он извлечет содержимое tar-файла в папку с именем «wgetpaste-2.28».

Перейдите в этот каталог:

cd wgetpaste-2.28/

Скопируйте двоичный файл wgetpaste в свой путь ` PATH, например /usr/local/bin/.

sudo cp wgetpaste /usr/local/bin/

Наконец, сделайте его исполняемым с помощью команды:

sudo chmod +x /usr/local/bin/wgetpaste

Загрузка фрагментов текста в сервисы, подобные Pastebin

Загрузка фрагментов текста с помощью Wgetpaste тривиальна. Позвольте мне показать вам несколько примеров.

1. Загрузите текстовые файлы

Чтобы загрузить любой текстовый файл с помощью Wgetpaste, просто запустите:

wgetpaste mytext.txt

Эта команда загрузит содержимое файла mytext.txt.

Пример вывода:

Your paste can be seen here: https://paste.pound-python.org/show/eO0aQjTgExP0wT5uWyX7/

Загрузите фрагменты текста в сервисы Pastebin с помощью wgetpaste.

Вы можете поделиться URL-адресом вставки через любой носитель, например почту, сообщение, WhatsApp или IRC и т. д. Тот, у кого есть этот URL-адрес, может посетить его и просмотреть содержимое текстового файла в веб-браузере по своему выбору.

Вот содержимое файла mytext.txt в веб-браузере:

Просмотр содержимого Pastebin через браузер

Вы также можете использовать команду 'tee', чтобы отобразить вставляемые данные, вместо того, чтобы загружать их вслепую.

Для этого используйте опцию -t, как показано ниже.

wgetpaste -t mytext.txt

Посмотреть содержимое буфера обмена

2. Загружайте фрагменты текста в разные сервисы

По умолчанию Wgetpaste загрузит фрагменты текста в сервис poundpython.

Чтобы просмотреть список поддерживаемых сервисов, запустите:

wgetpaste -S

Пример вывода:

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/

Здесь * указывает на службу по умолчанию.

Как видите, Wgetpaste в настоящее время поддерживает пять сервисов обмена текстом. Я не пробовал все из них, но думаю, что все сервисы будут работать.

Чтобы загрузить содержимое в другие службы, например bpaste.net, используйте опцию -s, как показано ниже.

$ wgetpaste -s bpaste mytext.txt
Your paste can be seen here: https://bpaste.net/show/5199e127e733

3. Считайте ввод со стандартного ввода.

Wgetpaste также может читать ввод со стандартного ввода.

uname -a | wgetpaste

Эта команда загрузит выходные данные команды uname -a.

4. Загрузите команду COMMAND и ее выходные данные вместе

Иногда вам может потребоваться вставить КОМАНДУ и ее вывод. Для этого укажите содержимое команды в кавычках, как показано ниже.

wgetpaste -c 'ls -l'

Это приведет к загрузке команды «ls -l» вместе с ее выводом в службу Pastebin.

Это может быть полезно, если вы хотите, чтобы другие четко знали, какую именно команду вы только что выполнили, и ее результат.

Загрузите команду с ее выводом

Как вы можете видеть в выводе, я выполнил команду ls -l.

5. Загрузите файлы системного журнала и файлы конфигурации

Как я уже сказал, мы можем загружать в вашу систему любые текстовые файлы, а не только обычные текстовые файлы, такие как файлы журналов, выходные данные определенной команды и т. д. Скажем, например, вы только что обновили свой компьютер Arch Linux и в итоге получили сломанная система. Вы спрашиваете своего коллегу, как это исправить, и он/она хочет прочитать файл pacman.log. Вот команда для загрузки содержимого файла pacman.log:

wgetpaste /var/log/pacman.log

Поделитесь URL-адресом Pastebin со своим коллегой, чтобы он/она просмотрел pacman.log и помог вам решить проблему, просмотрев файл журнала.

Обычно содержимое файлов журналов может быть слишком длинным, и вы не хотите делиться ими всеми. В таких случаях просто используйте команду cat, чтобы прочитать вывод, и используйте команду tail с переключателем -n, чтобы определить количество строк для совместного использования. и, наконец, передайте вывод в Wgetpaste, как показано ниже.

cat /var/log/pacman.log | tail -n 50 | wgetpaste

Приведенная выше команда загрузит только последние 50 строк файла pacman.log.

6. Преобразуйте входной URL в tinyurl

По умолчанию Wgetpaste отображает полный URL-адрес вставки в выводе. Если вы хотите преобразовать входной URL-адрес в tinyurl, просто используйте опцию -u.

wgetpaste -u mytext.txt 
Your paste can be seen here: http://tinyurl.com/y85d8gtz

7. Установите язык

По умолчанию Wgetpaste загружает фрагменты текста в виде обычного текста.

Чтобы перечислить языки, поддерживаемые указанным сервисом, используйте параметр -L.

wgetpaste -L

Эта команда выведет список всех языков, поддерживаемых службой по умолчанию, например poundpython (https://paste.pound-python.org/).

Мы можем изменить это, используя опцию -l.

wgetpaste -l Bash mytext.txt

8. Отключите подсветку синтаксиса или HTML в выводе.

Как я уже упоминал выше, фрагменты текста будут отображаться в определенном языковом формате (открытый текст, Bash и т. д.).

Однако вы можете изменить это поведение, чтобы отображать фрагменты необработанного текста, используя параметр -r.

wgetpaste -r mytext.txt 
Your raw paste can be seen here: https://paste.pound-python.org/raw/CUJhQ3jEmr2UvfmD2xCL/

Загрузить и отобразить необработанный результат

Как вы можете видеть в приведенном выше выводе, здесь нет подсветки синтаксиса и форматирования HTML. Просто сырой результат.

9. Измените настройки Wgetpaste по умолчанию.

Все значения по умолчанию (DEFAULT_{NICK,LANGUAGE,EXPIRATION}[_$ {SERVICE}] и DEFAULT_SERVICE)
можно изменить глобально в /etc/wgetpaste.conf или для каждого пользователя в файлах ~/.wgetpaste.conf . Однако эти файлы по умолчанию недоступны в моей системе. Я думаю, нам нужно создать их вручную. Разработчик предоставил образцы содержимого обоих файлов здесь и здесь. Просто создайте эти файлы вручную с заданным содержимым образца и соответствующим образом измените параметры, чтобы изменить настройки Wgetpaste по умолчанию.

10. Получение помощи

Чтобы отобразить раздел справки, запустите:

wgetpaste -h

Статьи по данной тематике