このような行を UNIX の行と一致させるにはどうすればよいgrepですか?
call($variable, 'tiki-index.php');
call('string123', 'tiki-index.php');
call(13, 'tiki-index.php');
私は試した
user@host:~$ grep -e "smarty->assign(*, 'tiki-index.php');" .
しかし、このコマンドは上記のどれとも一致しません。
次のファイルがあります
cat x.txt
call($variable, 'tiki-index.php');
call('string123', 'tiki-index.php');
call(13, 'tiki-index.php');
call(sdfadf..df.d.foo);
small(12, 'tiki-index.php');
私のgrepは次のように返します。必要に応じて具体的または一般的にすることができます
grep -e "call.*\'tiki-index.php\');" x.txt
call($variable, 'tiki-index.php');
call('string123', 'tiki-index.php');
call(13, 'tiki-index.php');
あなたのパターンgrep -e "smarty->assign(*, 'tiki-index.php');"は次のようになります。
smarty->assign(, 'tiki-index.php');
smarty->assign((, 'tiki-index.php');
smarty->assign(((, 'tiki-index.php');
...
(つまり*に適用され(ます。)
任意の文字を指定したい、つまり、そのインスタンスを.照合したい。*使用する:
grep -e "smarty->assign(.*, 'tiki-index.php');"
代わりは。