⏲️ sttr – Замечательный инструмент для преобразования строк в Linux и Unix

by itisgood

sttr – это бесплатный инструмент командной строки с открытым исходным кодом на языке Golang, который позволяет легко изменять и модифицировать текст.

Вы можете выполнять операции преобразования строки, такие как хеширование текста, манипулирование строками и т. д. sttr полезен для разработчиков и пользователей *nix, которым требуется быстрое изменение строк или файлов непосредственно через командную строку или TUI.

Он пригодится вам при написании скриптов, обработке данных и автоматизации задач в CLI.

Установка sttr – замечательного инструмента командной строки в Linux или Unix для преобразования строки

Введите команды в соответствии с версией вашего дистрибутива Linux или Unix.

macOS установка sttr

Сначала включите Homebrew и введите команду brew следующим образом:

$ brew tap abhimanyu003/sttr
$ brew install sttr

Если у вас установлен macports, попробуйте выполнить команду port следующим образом:

sudo port install sttr

Arch Linux установка  sttr

Вам нужно использовать команду yay:

yay -S sttr-bin

Debian/Ubuntu Linux и другие дистрибутивы с snap

Если у вас включена функция snap, введите следующую команду snap

sudo snap install sttr

Установка sttr на Windows

Попробуйте использовать curl следующим образом:

curl.exe https://webi.ms/sttr | powershell

Другие способы установки на Linux и Unix

Вы можете установить sttr, загрузив скрипт install.sh из официального репозитория.

Лучше всего установить его в папку ./bin в каталоге $HOME.

Синтаксис следующий:

$ wget https://raw.githubusercontent.com/abhimanyu003/sttr/main/install.sh
vim install.sh
bash install.sh

Использование

Теперь, когда sttr установлен.

Пришло время использовать его.

Синтаксис прост:

$ sttr command "text"
echo -n "text" | sttr command

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

$ echo "THIS is A TeSt" | sttr lower
echo "THIS is A TeSt" | sttr upper

Чтобы преобразовать текст в CamelCase или kebab-case:

$ sttr camel "move_player_Ball"
sttr kebab "move_player_Ball"

Вот как получить контрольную сумму SHA512 или SHA256 вашего текста:

sttr sha512 "demo foo bar"
sttr sha256 "demo foo bar"

Запустить sttr в режиме TUI можно следующим образом:

sttr

Введите текст и дважды нажмите клавишу [Enter]:

This is a Test

Конвертация

Вы можете преобразовать YAML в JSON-текст или наоборот.

Например, вот что я получил, используя команду dig +yaml +short A itsecforu.ru > output.yaml и отобразил с помощью команды cat

-
  type: MESSAGE
  message:
    type: RECURSIVE_RESPONSE
    query_time: !!timestamp 2024-05-24T21:03:56.750Z
    response_time: !!timestamp 2024-05-24T21:03:56.751Z
    message_size: 74b
    socket_family: INET
    socket_protocol: UDP
    response_address: "127.0.0.53"
    response_port: 53
    query_address: "0.0.0.0"
    query_port: 0
    response_message_data:
      opcode: QUERY
      status: NOERROR
      id: 19668
      flags: qr rd ra
      QUESTION: 1
      ANSWER: 2
      AUTHORITY: 0
      ADDITIONAL: 1

Давайте преобразуем YAML в текст JSON:

$ sttr yaml-json output.yaml
sttr yaml-json output.yaml > output.json
cat output.json

Вывод:

[{"message":{"message_size":"74b","query_address":"0.0.0.0","query_port":0,"query_time":"2024-05-24T21:05:18.881Z","response_address":"127.0.0.53","response_message_data":{"ADDITIONAL":1,"ANSWER":2,"AUTHORITY":0,"QUESTION":1,"flags":"qr rd ra","id":22203,"opcode":"QUERY","status":"NOERROR"},"response_port":53,"response_time":"2024-05-24T21:05:18.884Z","socket_family":"INET","socket_protocol":"UDP","type":"RECURSIVE_RESPONSE"},"type":"MESSAGE"}]

Вы можете извлечь IPv4 и IPv6 из вашего текста:

sttr extract-ip input.txt

Также можно извлекать URL-адреса:

sttr extract-urls input.txt

Заключение

Это лишь верхушка айсберга! Sttr – это отличный и фантастический инструмент командной строки для разработчиков и пользователей Linux/Unix.

Он может выполнять множество других текстовых операций, от кодирования/декодирования и фильтрации до преобразования и извлечения URL, IP, адресов электронной почты и многого другого.

Это универсальное решение для всех, кто регулярно работает с текстом в CLI.

см. также:

 

 

You may also like

Leave a Comment