В моих исходных файлах Python есть следующее:
from official.utils.flags import _base
Мне нужно изменить его на:
from utils.flags import _base
Моя файловая структура выглядит так:
.
├── README.md
├── requirements.txt
├── setup.py
└── trainer
├── __init__.py
├── task.py
├── task_eager.py
├── dataset.py
└── utils
Все мои файлы Python находятся в папке utils. Я попытался:
find . -type f -exec sed -i -e "s/from official./from /g" {} +
Но я вижу, что создано несколько новых файлов:
test.py test.py.py test.py.py.py test.py.py.py.py test.py.py.py.py.py test.py.py.py.py.py.py
test.py-e test.py.py-e test.py.py.py-e test.py.py.py.py-e test.py.py.py.py.py-e test.py.py.py.py.py.py-e
Предложите удалить -e
поскольку в этом случае это действительно не нужно.
Также это похоже на -e
поглощается -i
вариант в качестве суффикса для файла резервной копии будет сделан как filename-e
как показано в вашем фрагменте.
Это также может произойти, если в вашем find
командная строка a -i-e
(т.е. забыл пробел между двумя параметрами) вместо того, что вы разместили здесь.