有人知道为什么这行不通吗?我检查了许多链接,但无法弄清为什么我认为语法正确。 我想找到文件maplist.txt.old,然后在同一文件夹中将其重命名为maplist.txt。我没有错误。
find ~ -type f -name csgo/maplist.txt.old -execdir mv csgo/maplist.txt.old maplist.txt \;
答案 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