在我的原始 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
(即忘记了两个参数之间的空格)而不是您在此处发布的内容,也可能发生这种情况。