0

このような行を 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');" .

しかし、このコマンドは上記のどれとも一致しません。

4

3 に答える 3

1

次のファイルがあります

 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');
于 2013-08-19T05:23:41.190 に答える
1

あなたのパターン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');"

代わりは。

于 2013-08-19T05:38:29.920 に答える