grep为latex命令的参数

时间:2016-03-10 11:30:33

标签: grep latex

我试图在乳胶文件中整理出一些损坏的引用。它们是\cref{ps.1.1}之类的命令。我想grep我的文件,只获取命令的参数作为输出,在本例中为ps.1.1grep -Po \\\\cref{.*?} my.tex只给出了命令,而不是给我的其余部分,但我还要删除输出中的\cref{},这样我才能迭代他们。

1 个答案:

答案 0 :(得分:1)

这是一个Perl单行程序,只打印匹配项,包括同一行上的多个匹配项。它为每个匹配产生一条线,即使对于那些在同一条线上的线,也会在它们的行号前加上。

perl -nle 'print "$.: $1" while(/\\cref\{(.*?)\}/g)' file.tex

这可能需要并且可以修改,具体取决于您想要的确切输出。

例如,要在同一行上多次打印一次,请删除/g修饰符(在正则表达式后删除g)。要匹配多个模式,请将它们添加到正则表达式(由|分隔并按()分组)并将$2$3(...)添加到{{1} }。要查看整行,请将print更改为$1。等

一个简单的脚本将提供更多的灵活性和处理机会。