Учитывая два примера sed.В чем смысл {} ; in find -exec sed
sed -i 's/ugly/beautiful/g' /home/bruno/old-friends/sue.txt
Это легко понять.
Но это:
$ find /home/bruno/old-friends -type f -exec sed -i 's/ugly/beautiful/g' {} \;
Почему {} \;
важно во втором? Какое значение и значение этого? Я предполагаю `; ' для -exec. Но почему это должно сбежать и что означают фигурные скобки? Могут ли они быть похожими на область действия C?
Спасибо и сделать вас знать причину, по которой мы избегаем ';'? Интересный выбор {} для подстановки имени файла. –
@SenthilKumaran: Нам нужно скрыться ';', потому что в большинстве оболочек ';' используется для разделения команд. (Например, попробуйте 'echo" a "; echo" b "' в вашей оболочке.) Поэтому, если мы не избежим этого, это не будет аргументом для 'find', это будет конец этой команды и начало следующего, на уровне оболочки. –
Спасибо! Я не думал о необходимости оболочки. Теперь это имеет смысл. –