Какова цель фигурных скобок после perl -e строки - PullRequest
6 голосов
/ 18 августа 2011

Я знаю некоторые настоящие основы Perl, и я использовал этот вкладыш для переименования файлов:

find . -type f -exec perl -e 'rename($_,lc) for @ARGV' {} \;

Находка передает список файлов в perl one liner, который затем переименовывает их в нижний регистр - но зачем нужен {}?

Ответы [ 2 ]

11 голосов
/ 18 августа 2011

Аргумент '{}' является частью команды "find", а не команды "perl".

Согласно документации справочной страницы поиска , токен '{} 'заменяется именем текущего обрабатываемого файла, чтобы его можно было использовать в качестве цели аргументов "exec", которые в данном случае "perl -e ...".

3 голосов
/ 18 августа 2011

Это происходит из find и будет заменено найденным именем файла (ов).Он будет выполнять Perl как:

perl -e 'rename($_,lc) for @ARGV' имя файла

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...