我正在尝试在“ <”和“>”内的file.txt中重复一个单词两天,但无法获取它。例如,在file.txt中有类似的内容:
30993250 (<[email protected]> 2014-09-22 12:41:56 +0200 365)
它来自一个git blame -L 365,+1 path\to\file.cpp-e
,我只想恢复里面的电子邮件。我正在尝试下面的代码:
grep -oP '(?<=\<)\w+(?= \>)' ..\log\file.txt > ..\log\result.txt
和
grep -Po '(?<=\().*(?=\))' ..\log\file.txt > ..\log\result.txt
但是它不起作用,并说文件的语法不正确或找不到指定的路径。我不明白,我尝试了很多组合,但是没有用...
我想说我在Windows下使用批处理。请问有人可以帮助我吗?
编辑:我找到了一种解决方案,其中我使用ASCII表是这样的:
grep -oP '["\074].*["\076]' ..\log\file.txt > ..\log\result.txt
但是像这样显示“ <>”字符:
我该如何删除呢?
谢谢
grep将查找并显示行,但不会从行中删除任何内容。
但是根据您的情况,您可以读取结果并删除<>
字符。
grep -oP '["\074].*["\076]' ..\log\file.txt > ..\log\result.txt
setlocal EnableDelayedExpansion
set /p line= < ..\log\result.txt
set "line=!line:<=!"
set "line=!line:>=!"
echo !line!
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句