опция Use СЕПГ -s
(--separate
):
-s, --separate
рассматривать файлы как отдельные, а не в виде единого непрерывного длинного потока.
так найти «s -exec command +
действие строит команду присоединяя каждое выбранное имя файла в конце. В частности, команда sed будет вызываться с несколькими файлами: sed ... file1 file2 file3 ...
.
В противном случае обрабатывайте файлы последовательно с помощью find -exec sed -i '...' {} ';'
.
Кстати, очень вероятно, что вы используете GNU SED, так как команда i\
является расширением GNU. С GNU SED вам не нужно указывать аргумент для опции -i
.
Кроме того, рассмотрите возможность передачи сценария SED через -e
(--expression
), чтобы избежать двусмысленностей.
Пример:
find . -type f -path '*/browser/components/*/*.react.js' -exec sed -s -i -e '1 i\
import { logRender } from "../../../common/lib/logger";
' {} +
Может быть, дело в том, что '{} +' строительство помещает список из файлов, найденных в 'find' .. Рассмотрим, чтобы заменить его на' {}; '. (Как обычно, возможно, вам нужно будет избежать ';': '{} \;'.) –