単純に任意の入力を受け取り、そこから必要なデータを推測し、必要な出力を生成できるツールを見つけることはできません。それは私には強いAIのように聞こえます。
このようなものを作成することは、数字を認識するためだけでも、非常に厄介になります。たとえば、「123.456」は1つまたは2つですか?この「123,456」はどうですか?「35F」は10進数と「F」ですか、それとも16進値0x35Fですか。必要な方法で解析できるものを作成する必要があります。これは正規表現を使用してsscanf
行うことも、、を使用して行うことも、他の方法で行うこともできますが、カスタムで何かを作成する必要があります。
ただし、基本的な正規表現を使用すると、これを自分で行うことができます。魔法ではありませんが、それほど手間はかかりません。このようなものは、あなたが興味を持っている行を解析し、それらを統合します(Perl):
my @vals = ();
while (defined(my $line = <>))
{
if ($line =~ /The temperature at P(\d*) is (\d*)F./)
{
push(@vals, "($1,$2)");
}
}
print "The temperature at P%d is %dF. {";
for (my $i = 0; $i < @vals; $i++)
{
print $vals[$i];
if ($i < @vals - 1)
{
print ",";
}
}
print "}\n";
このisLからの出力
The temperature at P%d is %dF. {(1,35),(1,40),(3,35),(1,40)}
解析する必要のある行のタイプごとに、同様のことを行うことができます。それぞれをカスタムコーディングする代わりに、ファイルからこれらの正規表現を読み取ることもできます。