2017-09-19 14 views
0

のいずれかの側には、私はいくつかの文字列の後と前に持っているものを知りたいコメント# Check if exists the name columnsを持っている部分では、次のPerlスクリプト文字列内の単語与えられた単語

$filters = "SELECT lead_id, status, user, title, first_name, last_name, city, phone_number FROM vicidial_list , vicidial_lists WHERE vicidial_list.list_id = vicidial_lists.list_id"; 
$stmtA = "SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'asterisk' AND TABLE_NAME = 'vicidial_list'"; 
$sthA = $dbhA->prepare($stmtA) or die "preparing: ", $dbhA->errstr; 

$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; 

$counter = 0; 
$columns =(); 

while (my @row = $sthA->fetchrow_array) { 

    # GET the name columns by pos 
    $column = "@row[0] \n"; 

    # Check if exists the name columns 
    if (index($filters, @row[$counter]) > -1) { 

     $find = @row[$counter]; 
     $replace = "vicidial_list." . @row[$counter]; 

     # Replace the name column 
     $filters =~ s/$find/$replace/g; 

    } 
} 

print $filters . "\n\n"; 

#Close connection 
$sthA->finish(); 

を持っていて下さい。私はNAMEを選択した場合、それはそれはMYが先行し、ISが続いていることを返す必要がありますMY NAME IS CRISTOPHERで例えば

、。

+0

これはどのようにbashに関する質問ですか? –

+1

(BTW - あなたが聞いていることを伝えるのはちょっと難しいですが、できるだけ単純化した[mcve]を作ることができれば、入力、既存の出力、望ましい出力無関係/無関係な要素を含まないコード(例えば、* about * SQLでない場合は、SQLをコードの要素にしないことが理想的です)。 –

+0

スクリプトはPerlにありますが、Bashでも使えます。 –

答えて

0

あなたの質問は非常に1つの答えは正規表現であることができ、perlで、文字列のパターンを見つけることについてである場合:

my $string='MY NAME IS'; 
my $pattern='NAME'; 
if ($string =~ /$pattern/) { 
    print "Before: $`\n"; 
    print "After: $'\n"; 
} 

も特別RE variablesの全リストを参照してください。

関連する問題