Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
unix命令svn log以仅获取文件信息_Svn_Unix_Awk_Cut - Fatal编程技术网

unix命令svn log以仅获取文件信息

unix命令svn log以仅获取文件信息,svn,unix,awk,cut,Svn,Unix,Awk,Cut,只需要svn日志中的目录名和文件更改信息 这是我的svn日志 svn log -v http://test/svn/Demo/branches/HelloWorld/Batch/ --limit 2 ------------------------------------------------------------------------ r133 | testuser1 | 2013-04-02 18:22:28 -0400 (Tue, 02 Apr 2013) | 3 lines Ch

只需要svn日志中的目录名和文件更改信息

这是我的svn日志

svn log -v http://test/svn/Demo/branches/HelloWorld/Batch/ --limit 2

------------------------------------------------------------------------
r133 | testuser1 | 2013-04-02 18:22:28 -0400 (Tue, 02 Apr 2013) | 3 lines
Changed paths:
M /branches/HelloWorld/Batch/test.java

DEMO-13
Testing to lock 

------------------------------------------------------------------------
r132 | testuser2 | 2013-04-02 18:20:40 -0400 (Tue, 02 Apr 2013) | 3 lines
Changed paths:
M /branches/HelloWorld/Batch/test.java

DEMO-1
Testing to lock
期望输出:

Batch/test.java
Batch/test.java
我的剧本:

 svn log -v http://test/svn/Demo/branches/HelloWorld/Batch/ --limit 2 | awk '$1~/^[AMD]$/{for(i=2;i<=NF;i++)print $i}'
那么:

what ever process you are running | awk -v FS="[/ ]" '$1~/^[AMD]$/{print $(NF-1)"/"$NF}'
测试:
您几乎只需将字段分隔符设置为空格或正斜杠,然后在匹配行上打印最后两个字段:

awk '$1~/^[AMD]$/{print $(NF-1),$NF}' FS=' |/' OFS='/'
产出将是:

Batch/test.java
Batch/test.java

请告诉我您实际上是先输入了
svn
命令吗?
svn log-vhttp://test/svn/Demo/branches/HelloWorld/Batch/ --限制2 | awk'$1~/^[AMD]$/{print$(NF-1),$NF}'FS='|/'OFS='/'
您已经学会了如何提出一个好问题,显示输入、预期输出,您的尝试和给定的输出,但您的评论仍然毫无用处。我能给你的唯一有用的帮助就是试着调试这个问题。这个脚本根据您提供的输入工作,只是您在问题中给出的脚本的一个小修改。检查
svn log-v的输出http://test/svn/Demo/branches/HelloWorld/Batch/ --限制2,并确保它是您期望的输出。对不起……我以为您问我在cygwin上运行了什么,因此我直接复制粘贴了它。请确保您正确地使用管道。我直接在日志文件上运行它,并给出您需要的输出。
svnlog-vhttp://test/svn/Demo/branches/HelloWorld/Batch/ --限制2 | awk-v FS=“[/]”“$1~/^[AMD]$/{print$(NF-1)”/“$NF}”
——这看起来对吗?
awk '$1~/^[AMD]$/{print $(NF-1),$NF}' FS=' |/' OFS='/'
Batch/test.java
Batch/test.java