列の最初の項目である特定の単語「ELECTRICIANS」を探したい.csvファイルがあります。私はELECTRICIANSという名前で列全体を印刷したいので、他の単語をgrepするとエラーが出力されるはずです。grepコマンドを使用して単語を検索し、perlスクリプトで列全体を表示します。
次のように私はgrepの操作を行っています
my $exit = system("grep -q $column_name $file_name");
if ($exit == 0)
{
print "Entered column name $column_name found in file $file_name\n";
}
else {
print "Column name not found, try again!\n";
exit;
}
を今、私は「電気技師」の下で、ファイル内の列を印刷する方法を教えてください。次のように.csvファイルの
内容は次のとおりです。
WEEK,SITE ENGINEERS,SITE ENGINEERS 2,ELECTRICIANS,ELECTRICIANS 2
ONE,13,28,17,29
TWO,13,30,18,27
THREE,13,30,14,23
FOUR,15,30,12,29
FIVE,15,22,16,24
SIX,16,30,20,30
SEVEN,12,27,13,29
EIGHT,19,22,16,29
NINE,19,21,19,30
TEN,12,22,14,30,13
をあなたのアプローチでは、Perlの変数にあなたのgrepコマンドの結果を格納する必要があります。これは、 'system(" grep ... ")'を使うことはできませんが、 'qx(grep ....)'のようなものを使うことを意味します。しかし、なぜあなたはその行をグレープするためだけに子プロセスを作成しますか?これをPerl内で簡単に行うことができます。 – user1934428
私はqx構文を認識していません。 grepコマンドの出力を変数に保存するにはどうすればよいですか? –
'my $ output = qx(...)'です。 [perlop](http://perldoc.perl.org/perlop.html#Quote-Like-Operators)のマンページを参照してください。 – user1934428