Самые распространенные Bash велосипеды, которые в 99% повторяются у моих студентов.
Оно конечно работает правильно. Но бывалый глаз сразу ощутит дискомфорт глядя на такие конструкции.
Кстати я всегда придерживаюсь правила — одну задачу можно решить разными способами. Работает, да и пёс с ним. Но учить такому других, увы непозволительно, пусть лучше сразу правильно делают. Нормально делай, нормально будет.
Поехали!
cat bashdays.txt | cut -f 2 -d ';'
В текстовом файле bashdays.txt у меня забита строка: hello;world. Далее команда cat читает этот файл и перенаправляет данные на утилиту cut с помощью pipe «|». А cut уже режет строку по символу «;» и отдает мне второй элемент. То есть на выходе я получу: «world».
Но. Утилита cut сама умеет читать файлы. Проще говоря так:
cut -f 2 -d ';' bashdays.txt
Сюда можно приплести и grep, с которым обычно делают так:
cat bashdays.txt | grep "world"
Это прям любимый паттерн всех, забит в днк, даже я этим порой грешу. Это как на велосипеде, оди