我有这样的 git svn 命令:
git svn log --limit=1 --oneline
它会像这样输出单行:
r12345 | <anything, as it is svn comment inputted by svn-user>
我正在尝试输入 sed 命令,以便获得12345唯一的命令,但是,我无法使其正常工作.. 有很多错误,当前错误是parenthesis not balanced
我的最后一条命令如下:
git svn log --limit=1 --oneline | sed -e 's/r\(0-9) |*/\1/'
我用谷歌搜索过,sed 文档不是很清楚......我对正则表达式不是很擅长,我最好的经验是使用git --grep具有良好文档的简化正则表达式。
如果重要的话,环境是 MacOSX 终端。
编辑:
sed -n 's/r\(0-9*\)/\1/ 有效,但返回空字符串。
gro*_*taj 14
这是一个无正则表达式的解决方案,因为
有些人在遇到问题时会想“我知道,我会使用正则表达式”。现在他们有两个问题。
(用一粒盐服用)
您可以使用cut两次:
git svn log --limit=1 --oneline | cut -d ' ' -f 1 | cut -c 2-
Run Code Online (Sandbox Code Playgroud)
第一个剪切 ( cut -d ' ' -f 1) 将空格设置为列分隔符并仅选择第一列,因此r12345. 第二个剪切 ( cut -c 2-) 选择位置 2 和后面 ( 2-)处的字符。
你快到了
sed -e 's/r\([0-9]*\) .*/\1/'
Run Code Online (Sandbox Code Playgroud)
你必须告诉 sed 你想要\([0-9]*\)什么你不想要什么 / r&.*/
| 归档时间: |
|
| 查看次数: |
779 次 |
| 最近记录: |