有没有什么办法可以隐藏ctags: Warning: ignoring null tag in
从外壳prointing当我执行警告ctags
的src/
?所有这些警告似乎都指向.js
超出我范围的文件。我正在处理.c
底层文件,但它们位于同一顶级目录 ( src/
) 中,我运行以下命令:ctags -R *;cscope -R
fromsrc/
以浏览现有代码,但我从我不“关心”的目录中获取所有这些消息关于。
我可以tags
使用 exctags ( Exuberant Ctags )成功地为 vim创建一个文件。
但是,创建允许跳转到函数原型的标签不起作用,因为系统标头使用了表单的语法修改宏
#define _EXFUN(name, proto) name proto
Run Code Online (Sandbox Code Playgroud)
并在,例如string.h
使用
char *_EXFUN(strchr,(const char *, int));
Run Code Online (Sandbox Code Playgroud)
它为_EXFUN
而不是创建了一个标签strchr
:
_EXFUN /somedir/include/string.h /^char *_EXFUN(strchr,(const char *, int));$/;" p
Run Code Online (Sandbox Code Playgroud)
我用这个命令创建标签:
exctags -f tags.p --language-force=c --c-kinds=p file1 file2 ...
Run Code Online (Sandbox Code Playgroud)
我上下阅读了 exctags 手册页,尝试了各种-I
选项来影响宏扩展,但无济于事。有没有人解决过这个问题?
给定一个特定的 XML 元素(即特定的标记名称)和一段 XML 数据,我想从该元素的每次出现中提取子元素。更具体地说,我有以下(不太有效的)XML 数据片段:
<!-- data.xml -->
<instance ab=1 >
<a1>aa</a1>
<a2>aa</a2>
</instance>
<instance ab=2 >
<b1>bb</b1>
<b2>bb</b2>
</instance>
<instance ab=3 >
<c1>cc</c1>
<c2>cc</c2>
</instance>
Run Code Online (Sandbox Code Playgroud)
我想要一个脚本或命令,它将这些数据作为输入并产生以下输出:
<a1>aa</a1><a2>aa</a2>
<b1>bb</b1><b2>bb</b2>
<c1>cc</c1><c2>cc</c2>
Run Code Online (Sandbox Code Playgroud)
我希望解决方案使用标准文本处理工具,例如sed
或awk
。
我尝试使用以下sed
命令,但没有奏效:
sed -n '/<Sample/,/<\/Sample/p' data.xml
Run Code Online (Sandbox Code Playgroud)