Так и должно быть.
/ g
заменит все экземпляры foo
на bar
find <Project root dir> -type f -exec sed -i "{}" -e 's/foo/bar/g' \;
Если вы хотите ограничить изменение только файлами * .py:
find <Project root dir> -type f -name "*.py" -exec sed -i "{}" -e 's/foo/bar/g' \;
Если есть экземпляры foo, который не следует заменять, можно ограничить четырьмя случаями:
Но не
) Тогда команда будет выглядеть так:
foo="foo";bar="bar";find <Project root dir> -type f -exec sed -i "{}" \
-r -e "s/[^a-zA-Z0-9_\-]$foo\(/$bar\(/g" -e "s/def $foo/def $bar/g" \
-e "s/import $foo/import $bar/g" \;
Используйте "${urls[0]}"
для первого элемента массива urls
, а не $urls[0]
.
Чтобы удалить первый элемент массива urls
и добавить массив add
в конец, используйте
urls=( "${urls[@]:1}" "${add[@]}" )
Всегда цитируйте каждое расширение, даже ${#urls[@]}
.
Я не очень внимательно смотрел на ваши curls и greps, но использую
printf '%s\n' "$content"
, если вы хотите быть уверены, что в данных сохранены обратные косые черты.
Связанные: