Git 根据正则表达式替换的 mv 文件
Git mv Files According to Regex Substitution
我正在尝试重命名大量错误命名的文件,这些文件在我的本地 git 存储库中进行了跟踪。这些文件当前的格式为 foo.txt_1.txt
。我想将它们更改为 foo.txt
.
这是我到目前为止一直在尝试的:
ls *_1.txt | xargs -I {} git mv -n {} newfilename
我只是不确定如果 newfilename
进行我想要的替换我应该使用什么。
使用 for 循环会更容易。
for f in *_1.txt; do
echo git mv $f ${f/_1.txt/}
done
这将回显它会 运行 的命令,因此您可以检查它是否正确。从实际执行的“git”命令之前删除“echo”。
Bash 内联替换的工作方式如下:
${VAR/_1.txt/}
其中VAR
为变量名,要移除的模式在/
之间。这里只是简单的文本,但是你可以在这里使用正则表达式。
我正在尝试重命名大量错误命名的文件,这些文件在我的本地 git 存储库中进行了跟踪。这些文件当前的格式为 foo.txt_1.txt
。我想将它们更改为 foo.txt
.
这是我到目前为止一直在尝试的:
ls *_1.txt | xargs -I {} git mv -n {} newfilename
我只是不确定如果 newfilename
进行我想要的替换我应该使用什么。
使用 for 循环会更容易。
for f in *_1.txt; do
echo git mv $f ${f/_1.txt/}
done
这将回显它会 运行 的命令,因此您可以检查它是否正确。从实际执行的“git”命令之前删除“echo”。
Bash 内联替换的工作方式如下:
${VAR/_1.txt/}
其中VAR
为变量名,要移除的模式在/
之间。这里只是简单的文本,但是你可以在这里使用正则表达式。