Sed не работает с командой find - PullRequest
2 голосов
/ 08 января 2011

Я пытаюсь запустить этот сценарий sed для всех файлов в каталоге:

sed.s:

/<constants>/a\
<const type="profElem" name="mission_description" value="NCEP and NCAR Reanalysis Monthly Means and Other Derived Variables"/>

, но при каждом запуске:

find . -exec sed -f sed.s -i {} \; 

Я получаю ошибку:

sed: -i may not be used with stdin

Как мне заставить это работать?

1 Ответ

2 голосов
/ 08 января 2011

Похоже, что ваша версия sed требует, чтобы вы передали расширение для резервных копий опции -i. Если вы чувствуете себя достаточно уверенно в своей команде, вы можете попытаться дать ей расширение нулевой длины, например:

find . -exec sed -f sed.s -i '' {} \; 
...