在我的原始 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
答案1
建议删除,-e
因为在这种情况下它确实没有必要。
此外,它看起来像是-e
被选项吞噬了-i
,因为备份文件的后缀将像filename-e
您的代码片段中显示的那样。
find
如果您的命令行中有-i-e
(即忘记了两个参数之间的空格)而不是您在此处发布的内容,也可能会发生这种情况。