while read str; do echo "$((++i)) - $str"; done < infile
Эта команда выполняет следующее:
1. while read str; do ... done
: Запускает цикл, который будет выполняться, пока есть строки ввода. Каждая строка будет присвоена переменной str
.
2. echo "$((++i)) - $str"
: Выводит на экран увеличенный на 1 счётчик i
, затем дефис и содержимое переменной str
(текущая строка).
3. < infile
: Подает на вход циклу содержимое файла infile
.
Эта команда полезна для нумерации строк в файле infile
. Альтернативой может быть использование cat -n infile
, что также нумерует строки.