cat infile | while read str; do echo "$((++i)) - $str" ; done;
Команда cat infile
считывает содержимое файла «infile» и передает его на вход команде while read str; do echo "$((++i)) - $str" ; done;
. Эта команда запускает цикл, который читает каждую строку из входного потока и выводит ее с присвоением номера строки.
Пояснение:
— cat
— команда для вывода содержимого файла или соединения нескольких файлов.
— infile
— имя файла, содержимое которого будет передано на вход оператору while
.
— while read str; do ... ; done;
— оператор while
, который выполняет указанные команды до тех пор, пока входные данные не закончатся.
— read str
— команда для чтения строки из входного потока и присвоения ее переменной str.
— echo "$((++i)) - $str"
— команда для вывода строки с добавлением номера строки. Переменная i
используется для подсчета номера строки.
Полезность: данная команда может быть полезна для добавления номеров строк к содержимому файла или вывода текстовых файлов в консоли с номерами строк.
Альтернатива: можно использовать команду nl
или grep -n
для добавления номеров строк к файлу.