Я нашел следующий удивительный маленький скрипт в ссылке
$ find / home / bruno / old-friends -type f -exec sed -i 's / ugly / beautiful / g' {} \;Но я действительно не понимаю финальный бит
$ find / home / bruno / old-friends -type f -exec sed -i 's / ougly / beautiful / g '{} \;
{} \;
Не могли бы вы объяснить, пожалуйста?
Я использовал страницу about.com Linux в течение некоторого времени, которая охватывает
find - поиск файлов в иерархии каталоговкак ссылка на некоторое время, и она охватывает часть команды, о которой вы спрашиваете.
find . -type f -exec file '{}' \;
Запускает `файл 'для каждого файла в или ниже текущего каталога. Обратите внимание, что фигурные скобки заключены в метки одиночной кавычки, чтобы защитить их от интерпретации как пунктуацию сценария оболочки. Точка с запятой аналогично защищена с помощью обратного слэша, хотя ';' мог бы быть использован и в этом случае.
Итак, я думаю, что ваша команда должна иметь точки с запятой вокруг ваших фигурных скобок, чтобы быть в безопасности.
Ссылки:
Статья объясняя команду find
С exec (а не xargs) необходимо включить {}, поскольку он заменяется именем файла, на который нацелена команда find; это местозаполнитель, который обычно цитируется так, что если в каких-либо файлах-мишенях есть пробелы в них, команда будет успешно выполняться во всех файлах. [F3] должен быть включен, поскольку он завершает команду, точно так же, как при разделении нескольких команд в командной строке. В этом случае он должен быть escaped, так что команда find получает его из оболочки, нерасширенной (как литерал).
Еще одна отличная и действительно важная статья - это то, что в эта полезная статья. , которая объясняет чрезвычайно ну, команда find, exec и важность цитирования различных элементов в вашей команде или скрипте. Я нашел эту статью и сайт в целом очень полезными для изучения сценариев bash и bash.
С exec (а не xargs) необходимо включить {}, поскольку он заменяется именем файла, на который нацелена команда find; это местозаполнитель, который обычно цитируется так, что если в каких-либо файлах-мишенях есть пробелы в них, команда будет успешно выполняться во всех файлах. [F3] должен быть включен, поскольку он завершает команду, точно так же, как при разделении нескольких команд в командной строке. В этом случае он должен быть escaped, так что команда find получает его из оболочки, нерасширенной (как литерал).
Еще одна отличная и действительно важная статья - это то, что в эта полезная статья. , которая объясняет чрезвычайно ну, команда find, exec и важность цитирования различных элементов в вашей команде или скрипте. Я нашел эту статью и сайт в целом очень полезными для изучения сценариев bash и bash.
С exec (а не xargs) необходимо включить {}, поскольку он заменяется именем файла, на который нацелена команда find; это местозаполнитель, который обычно цитируется так, что если в каких-либо файлах-мишенях есть пробелы в них, команда будет успешно выполняться во всех файлах. [F3] должен быть включен, поскольку он завершает команду, точно так же, как при разделении нескольких команд в командной строке. В этом случае он должен быть escaped, так что команда find получает его из оболочки, нерасширенной (как литерал).
Еще одна отличная и действительно важная статья - это то, что в эта полезная статья. , которая объясняет чрезвычайно ну, команда find, exec и важность цитирования различных элементов в вашей команде или скрипте. Я нашел эту статью и сайт в целом очень полезными для изучения сценариев bash и bash.
С exec (а не xargs) необходимо включить {}, поскольку он заменяется именем файла, на который нацелена команда find; это местозаполнитель, который обычно цитируется так, что если в каких-либо файлах-мишенях есть пробелы в них, команда будет успешно выполняться во всех файлах. [F3] должен быть включен, поскольку он завершает команду, точно так же, как при разделении нескольких команд в командной строке. В этом случае он должен быть escaped, так что команда find получает его из оболочки, нерасширенной (как литерал).
Еще одна отличная и действительно важная статья - это то, что в эта полезная статья. , которая объясняет чрезвычайно ну, команда find, exec и важность цитирования различных элементов в вашей команде или скрипте. Я нашел эту статью и сайт в целом очень полезными для изучения сценариев bash и bash.
С exec (а не xargs) необходимо включить {}, поскольку он заменяется именем файла, на который нацелена команда find; это местозаполнитель, который обычно цитируется так, что если в каких-либо файлах-мишенях есть пробелы в них, команда будет успешно выполняться во всех файлах. [F3] должен быть включен, поскольку он завершает команду, точно так же, как при разделении нескольких команд в командной строке. В этом случае он должен быть escaped, так что команда find получает его из оболочки, нерасширенной (как литерал).
Еще одна отличная и действительно важная статья - это то, что в эта полезная статья. , которая объясняет чрезвычайно ну, команда find, exec и важность цитирования различных элементов в вашей команде или скрипте. Я нашел эту статью и сайт в целом очень полезными для изучения сценариев bash и bash.
С exec (а не xargs) необходимо включить {}, поскольку он заменяется именем файла, на который нацелена команда find; это местозаполнитель, который обычно цитируется так, что если в каких-либо файлах-мишенях есть пробелы в них, команда будет успешно выполняться во всех файлах. [F3] должен быть включен, поскольку он завершает команду, точно так же, как при разделении нескольких команд в командной строке. В этом случае он должен быть escaped, так что команда find получает его из оболочки, нерасширенной (как литерал).
Еще одна отличная и действительно важная статья - это то, что в эта полезная статья. , которая объясняет чрезвычайно ну, команда find, exec и важность цитирования различных элементов в вашей команде или скрипте. Я нашел эту статью и сайт в целом очень полезными для изучения сценариев bash и bash.