Regex 使perl在文件上运行

Regex 使perl在文件上运行,regex,perl,input,Regex,Perl,Input,简介。我有以下代码行: perl -pe 's;(\//(.*?)\\glft );;g' 它的目的是将tex源代码用于美洲土著语言中的语言注释文本,并仅提取英语翻译。翻译分散在整个文档中,但总是以\glft开头,以/结尾。因此,代码将删除从(包括)\\到(包括)\glft的所有内容 问题。我在macbook pro的终端上运行perl。这对我一次可以运行代码的字符数施加了一个很小的限制。我可以指示perl在整个文件上运行代码吗?我不介意它是否提取输出并将其链接到一个新文件,或者将其放在输入文

简介。我有以下代码行:

perl -pe 's;(\//(.*?)\\glft );;g'
它的目的是将tex源代码用于美洲土著语言中的语言注释文本,并仅提取英语翻译。翻译分散在整个文档中,但总是以
\glft
开头,以
/
结尾。因此,代码将删除从(包括)
\\
到(包括)
\glft
的所有内容

问题。我在macbook pro的终端上运行perl。这对我一次可以运行代码的字符数施加了一个很小的限制。我可以指示perl在整个文件上运行代码吗?我不介意它是否提取输出并将其链接到一个新文件,或者将其放在输入文件的末尾,或者任何其他合理的选项

评论。我肯定这是一个低级问题,但我昨天才开始使用perl。下面包含一些示例代码


此外,也没有任何一个国家的政府官员告诉他,他们也没有任何一个国家的政府官员告诉他说:“好吧,现在给我两百,我现在给我两百,她将是你的。”“///////\endgl\endgl\xe\xe\xe\xe\Se\NoNon也没有任何一个也没有任何一个也没有任何一个国家的告诉他们告诉他说::::“`好吧,好吧,现在给我,给我现在给我两个,现在给我两个一百,我现在我,她将是我,她将是你的,她将是你的,她将是你的,她将是你的你的。他们将是你的。他们的。他们的。他们的。他们::::””//////////////////////////////////////////////{wi}、{wisi}、{w'isi}two'}%\indx{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{x{u{\emph{u}、\emph{u}、\emph{u}、\emph{k u}{\sc dim}}%\indx{tiutsze}{\emph{t\i\k ut\ss}e} ,\emph{t\k i\k ut\ss{e}
leave{sc.pass}}}%\begingl Huj{uei[then]\zero-[\sc 3s-]+w'ie-[give-]+t\ss{e-[\sc pass-]+van[\sc pnct]%wi-[two-]+t\k-iwit-[100]%w'itad[单独]%Kha[Se\~nor]%Patricio]a-[sc-]a-[sc-[3s-]dim-]+t\i\k u-[离开-]+t\ss{}e-[\sc通行证-]+va--[\sc pnct--]+k。[sc sub]\endilg\glft然后给了他两百,这个小奴隶就留给了塞诺·帕特里西奥一个人。//\endgl\xe{\medskip\footnotesize\n我们已经把翻译从
给了他两百”改为给了他两百”,因为关于埃文的协议是零was gived'.在\getref{n23}中,emph{benwi'eik'a}
现在给我“通过前缀\emph{ben}同意第二个单数代理、第一个单数接收者和第三个单数对象
money”:它不是无代理的\emph{In}\sc:1s:3s}、无受益人的\emph{a}{sc 2s:3s}或无主题的\emph{bei}.相比之下,\emph{w'iet\ss{}evan}只同意三分之一的单数参数:如果它同时同意接收者和对象,前缀将是\emph{a}{\sc:3s:3s},如同一句子的下一个从句中所述。我们假设一致的论点是
200',因为考虑到我们在其他地方发现的情况(即{\sc:3s:3s}\emph{a}已被省略或{emph{w'ie}),明显的备选方案似乎不太可信可能会选择性地不同意患者的意见,而将接受者视为直接客体)。下一条款中明确提及Se\~nor Patricio,以及随之而来的间接和直接客体协议,可能会被视为有利于将其视为缺席,因为包含
的条款已给出。%\medskip\%\TH{}'s将\emph{t'i\k ut\ss{e}翻译为
be owned',但令人惊讶的是\emph{Kha'a Patr'isu}同意将动词作为与格词(被动化的代理将通过'emph{ba}
by'而不会同意),并且\emph{kur-'u}
little capture'被合并(被动化的对象将通过'emph{de}{sc bas而自由)因此,我们更喜欢gloss
be left',它的与格语法更自然(
\emph x留给了\emph y');这也更适合于\getref{d6}。(我们没有看到这个根的主动对应,但TH记录了明显的因果/被动对\emph{t\k{i}w-\k i}
keep',\emph{t\k{i}w-\k e}[代码>被保留的“被保存的”是被证实的。)\MED-SKP}\MED跳过}\\MED跳过}\\MED-MED\MED跳过{<[代码>被保留的“被保留的”是被证实的。)\\MED\MED跳过{代码>被保留的“被保留的”是(被证实的)。)\MEDX\MED\MEDX\MED\MED\MED\MED\MEDX{{{{{{{PZP{{{{{{{p{p{p{p{p{p{p{p{p{p{p{p{p{{p{p}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{邦邦邦邦邦邦邦邦邦((代码>{{{{{{{{{{(代码>church'}}%\indx{kzzai@{\emph{kh\k a\k i}`name({\sc v})}(另见\emph{kh\k a})}%%\begingl\zero-[\sc 3s:3s-]+P'i-[head\ct{12}-]+P'a-[water\ct{12}-]+hw\e-[take-]+van[\sc pnct]%m'isat'u-[schurch-]+at,[\sc loc]%P'etra-[Petra-]+m[\sc quot]%\zero-[\sc 3s:3s-]+kh\k a\k i-[name-]van。[\sc pnct]\endilg\glft他带她去教堂受洗,并给她取名为Petra


如果表达式正确,请运行以下命令:

perl -p -i.orig -e 's;(\//(.*?)\\glft );;g' input.txt
它将原始输入保存为
input.txt.orig
,并且
input.txt
将包含固定文件

另一种方法是将命令用于shell重定向:

perl -pe 's;(\//(.*?)\\glft );;g' < input.txt > output.txt
perl-pe;(\/(.*?\\glft);;g'output.txt

它将从
input.txt
中获取输入,并将处理后的结果放入
output.txt

谢谢,但这里暴露了我的无知,
input.txt
这里指的是一个名为
input
的文件,扩展名为
.txt
,对吗?换句话说,我必须首先将(所有ascii)
.tex
文件保存为
.txt
。perl如何知道文件的位置?在我的示例中,它从当前工作目录中的
input.txt
获取输入(您所在的目录,如果您没有更改它,可能是您的主目录,请在命令行中键入
pwd
。您也可以将其指向
.tex
文件,无需更改。)