查找文件并将其重命名为BASH

时间:2018-10-26 18:59:38

标签: bash

有人知道为什么这行不通吗?我检查了许多链接,但无法弄清为什么我认为语法正确。 我想找到文件maplist.txt.old,然后在同一文件夹中将其重命名为maplist.txt。我没有错误。

find ~ -type f -name csgo/maplist.txt.old -execdir mv csgo/maplist.txt.old maplist.txt \;

1 个答案:

答案 0 :(得分:1)

许多处理方法。由于您正在查找〜/ csgo ,因此可以直接转到查找中的目录。 -execdir 选项将在目录中运行命令。因此,无需太多更改示例:

find ~/csgo -type f -name maplist.txt.old -execdir mv maplist.txt.old maplist.txt \;

要使其进一步自动化,您可能需要使用bash for 循环来处理此问题,例如:

for file in $( find ~/csgo -type f -name maplist.txt.old ) ; do
  mv $file $( echo $file | sed -e 's/\.old//' )
done