我发现这个perl脚本here似乎适用于我的目的。它打开一个Unicode文本文件并读取每一行,以便可以运行命令。但我无法弄清楚如何在每一行上运行某个ICU命令。有人可以帮我吗?我得到的错误是(largefile是脚本名称): ./largefile第11行的语法错误,靠近“/。” 搜索模式未在./largefile第11行终止。
#!/usr/bin/perl
use strict;
use warnings;
my $file = 'test.txt';
open my $info, $file or die "Could not open $file: $!";
while( my $line = <$info>) {
do
LD_LIBRARY_PATH=icu/source/lib/ ./a.out "$line" >> newtext.txt
done
}
close $info;
基本上我想打开一个大文本文件并运行命令(通常从命令行运行...我认为我在perl脚本中调用它是问题,但我不知道如何修复它)“LD_LIBRARY_PATH = icu / source / lib / ./a.out”$ line“&gt;&gt; newtext.txt”在每一行上,以便“newtext.txt”在处理完所有行后填充通过脚本。 ICU部分打破了高棉语。
任何帮助将不胜感激!我不是一个程序员......谢谢!
答案 0 :(得分:1)
你有没有尝试过反叛:
while (my $line = <$info>) {
`LD_LIBRARY_PATH=icu/source/lib/ ./a.out "$line" >> newtext.txt`
last if $. == 2;
}
答案 1 :(得分:1)
为了执行终端命令,命令需要在system()中,因此改为
system("LD_LIBRARY_PATH=icu/source/lib/ ./a.out $line >> newtext.txt");