一尘不染

在文件中查找模式并将其重命名

linux

我使用此命令查找具有给定模式的文件,然后将其重命名为其他文件

find . -name '*-GHBAG-*' -exec bash -c 'echo mv $0 ${0/GHBAG/stream-agg}' {} \;

运行此命令时,我看到一些类似的输出

mv ./report-GHBAG-1B ./report-stream-agg-1B
mv ./reoprt-GHBAG-0.5B ./report-stream-agg-0.5B

但是最后,当我运行时ls,我看到了旧文件名。


阅读 310

收藏
2020-06-02

共1个答案

一尘不染

您正在回显’mv’命令,而不是实际执行它。改成:

find . -name '*-GHBAG-*' -exec bash -c 'mv $0 ${0/GHBAG/stream-agg}' {} \;
2020-06-02