У меня есть дерево файлов, содержащее тысячи файлов php.Я хочу уменьшить усилия, необходимые для обновления до PHP7.2, теперь это PHP5.2 - PHP5.5.Поэтому я хочу начать с автоматической замены некоторого синтаксиса.
Первый измененный синтаксис, который я хочу автоматически заменить, - это массивы, которые обращаются к столбцу по имени.В PHP 7.2 должны быть кавычки вокруг имени столбца.Я нашел команду grep, чтобы найти множество совпадений:
grep -rIC 2 "\$[A-Za-z]\{1,\}\[[A-Za-z]\{1,\}\]"
Результаты:
wws/tools/ttman001M0102.php-}
wws/tools/ttman001M0102.php:if($operator[osno]!=""){
wws/tools/ttman001M0102.php: $where.=" and ".getWhereAnweisung("t10.osno",'',$operator[osno],$suche[osno]);
wws/tools/ttman001M0102.php-}
wws/tools/mwtxt_100L0100.php-while($r=$a->getNextRow()){
wws/tools/mwtxt_100L0100.php: $r[txta]=htmlentities(substr($r[txta],0,40),ENT_QUOTES,ini_get("default_charset"));
wws/tools/mwtxt_100L0100.php- $cust_array[$i]= $r;
wws/tools/updates.php- {
wws/tools/updates.php: //if(confirm('<?php echo $label[a]?>'))
wws/tools/updates.php- {
wws/tools/updates.php: //if(confirm('<?php echo $label[a]?>'))
wws/tools/mwtxt_103M0100.php-}
wws/tools/mwtxt_103M0100.php:if($suche[doku]!="")
wws/tools/mwtxt_103M0100.php: $where.=" (dsca like '%".addslashes($suche[doku])."%' or doku like '".addslashes($suche[doku])."%') and ";
wws/tools/mwtxt_103M0100.php-if($sort_field)
wws/tools/mwtxt_103M0100.php-while($r=$Abf->getNextRow()){
wws/tools/mwtxt_103M0100.php: $r[dsca]=htmlentities($r[dsca],ENT_QUOTES,ini_get("default_charset"));
wws/tools/mwtxt_103M0100.php- $cust_array[$i]= $r;
wws/tools/mwtol_000M0000.php- while($r=db_fetch_row(Array($result,"DB_GETMODE_ASSOC"))){
wws/tools/mwtol_000M0000.php: $mhein_040 = new query_select("select * from mhein_040 where orno='$r[liid]' and mndn = '".$_SESSION['SES_CLIENT']."'");
wws/tools/mwtol_000M0000.php- $kont=new CRM_Vorgang();
wws/tools/mwtol_000M0000.php- $kont->message=array('meid'=>'mwdoc_002fristmhein_040invn','dspr_usid'=>array('mhein_040usid'=>$mhein_040->row[usid]),
wws/tools/mwtol_000M0000.php: 'text'=>'<a href="javascript:window.open(\'../distribution/mhein_040M0000.php?glob_order_no='.$r[liid].'&aktion=invn&invn='.$r[bnum].'\');void(0);">'.
wws/tools/mwtol_000M0000.php: get_labelInLanguage('eka',$_SESSION['global_lang']).' '.$r[liid].
wws/tools/mwtol_000M0000.php: get_labelInLanguage('re',$_SESSION['global_lang']).' '.$r[bnum].'</a>');
wws/tools/mwtol_000M0000.php- $kont->crm_send_saved_message();
wws/tools/mwtol_000M0000.php- $sql="select grou from mpart_003
wws/tools/mwtol_000M0000.php: where item='$feld[item]' and tabl='msser_201' and grou in ('1','2','3') and mndn = '".$_SESSION['SES_CLIENT']."'";
wws/tools/mwtol_000M0000.php- $gr=new query_select($sql);
, которые уже выводят подходящее отображение соответствующего кода.Я хочу передать эти результаты в bash-скрипт, который попросит меня заменить, нажимая y или n для каждого случая.Это хороший подход или может быть лучше, чтобы ускорить процесс?