ls *.jpg | nl -s.
nl
добавит номера строк; -с.
указывает .
как разделитель между числом и данными (в данном случае именами файлов). Если вы хотите удалить начальные пробелы из вывода, вы можете добавить следующее:
ls *.jpg | nl -s. | sed 's/^ *//'
sed
затем удалит ноль или более пробелов из начала строки.
Если вы действительно хотите сделать это с помощью awk
:
ls *.jpg | awk '{ print NR"."$0 }'
NR
- это внутренняя переменная, указывающая количество записей, проанализированных на данный момент.
Чтобы навсегда изменить имена файлов, выполните следующие действия (Майкл Верс)
ls *.jpg | nl -s. | sed 's/ *\([0-9]\+\)\.\(.*\)/\2 \1\.\2/' | xargs -n 2 mv