Загрузка фрагментов текста в службы, подобные 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