Windows Subsystem for Linux

neofetch

Если вы не в курсе, что такое Windows Subsystem for Linux или WSL (или WSL 2), то воспользуйтесь Гуглом. Вкратце, это Linux, работающий внутри OS Windows. Устанавливать эмулятор, вроде Virtual Box или VMWare не нужно, несколько готовых сборок можно установить из магазина Microsoft как обычные  программы. После запуска у вас будет консоль, внешне, естественно, похожая на консоль командной строки, но почти такая же удобная и гибкая, как PuTTY или другой терминал.

Мне эта штука понравилась тем, что у пользователя есть доступ ко всем дискам и разделам операционной системы и можно писать практически любые скрипты для задач по работе с файлами. Поиск файлов, поиск текста внутри файлов, поиск и обработка файлов, чтение файлов в реальном времени (tail –F) и т.д. производится так же, как на обычном Линуксе. Огромное количество удобных утилит доступны практически просто из коробки.

Сегодня мне понадобилось конвертировать несколько flac-файлов в mp3. Я набросал простой скрипт, несколько минут – и все готово. Не нужно устанавливать программы, да еще и зачастую платные, достаточно установить одну или несколько консольных утилит и запустить скрипт.

У меня установлена сборка Debian, для работы с аудиофайлами я использовал ffmpeg, для этого нужно сначала его установить:

sudo apt install ffmpeg -y

Затем нужно перейти в каталог с файлами, которые нужно конвертировать (cd /mnt/c/folder, где “c” – буква  раздела, а folder – каталог с музыкой), создать файл (выполнить nano re.sh) и вставить туда скрипт (правой клавишей, как в обычной командной строке):

#!/bin/sh
export PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin

for f in *.flac
do
 ffmpeg -i "$f" -ab 320k -map_metadata 0 -id3v2_version 3 "$f".mp3
done

CTRL+X Y ENTER. Всё, файл сохранен. Запускаем командой sh re.sh и смотрим за процессом выполнения.

Упомянутый выше поиск текста в файлах выглядит примерно так:

find . -name "*.*htm*" -exec grep -i "iframe" {} \; -print

Точка – это текущий каталог, можно указать путь к каталогу. Данный однострочник найдет в текущем каталоге все файлы с расширением, содержащим htm, т.е. .html, .htm, .shtml и т.д. и если внутри файла содержится текст iframe – выведется имя файла и строка в файле с этим словом.

Возможностей море, можно искать готовые скрипты для своих нужд на страничках линуксоидов или писать свои. Если вы не линуксоид, то есть хороший повод начать изучать консоль Линукс.


Теги: , , , , , , ,