Find
通過 Linux 命令更新所有 Python 文件
在我的原始 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
(即忘記了兩個參數之間的空格)而不是您在此處發布的內容,也可能發生這種情況。