Как массово переименовать файлы с помощью sed: однострочный способ

ls * | sed -e 'p;s/foo/bar/' | xargs -n2 mv


Эта команда выполнит следующие действия:
1) ls * — выведет список всех файлов в текущей директории;
2) sed -e 'p;s/foo/bar/' — для каждого файла в списке будет выполняться следующее:
p — будет выведена первоначальная строка файла;
s/foo/bar/ — будет заменено первое вхождение «foo» на «bar» в каждой строке файла;
3) xargs -n2 mv — каждая строка вывода предыдущей команды будет передана в качестве аргументов для команды mv (перемещение файла), где она будет использоваться для переименования файлов.

Эта команда полезна, если вам нужно массово переименовать файлы, заменив определенную строку в их именах с помощью выражения sed.

Альтернативным способом для переименования файлов может быть использование команды rename или написание скрипта на языке программирования (например, Python или Perl), чтобы выполнить более сложные манипуляции с именами файлов.

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *