Stvari koje bih volio uraditi prije smrti
Nedavno sam imao interesantnan zadatak:
* Reimovati sve shtml filove u php
* Napraviti sve shtml includes (<!--#include virtual="/file.shtml"-->) u php includes (<?php include("/file.php");?>)
Na Linux serveru to je izgledalo otprilike ovako (sve rekursivno):
1.find . -name '*.shtml' | sed 's/\(.*\)\.shtml/mv \1.shtml \1.php/'|sh
Reimenuj sve .shtml fileove u .php
find . -name '*.shtml' nalazi sve .shtml fajlove
sed 's/\(.*\)\.shtml/mv \1.shtml \1.php/' sed edituje listu fajlova gdje s mijenja *.shtml sa mv \1.shtml \1.php, mv je komanda koja radi stvarno reimenovanje dok 1 uzima ima fajla u prvom stringu i stavlja ga tu
| sh uzima i egzekutuje šta izbaci sed
2.find . -type f | xargs sed -i 's/.shtml/.php/g'
Mijenja .shtml unutar teksta s .php, tako da <!--#include virtual="/file.shtml"-->) postaje <!--#include virtual="/file.php"-->)
3.find . -type f | xargs sed -i 's/<\!--#include virtual=\"/<?php include(\"\\//g'
Slično kao gore: <!--#include virtual="/file.php"--> postaje <?php include("/file.php"-->
4.find . -type f | xargs sed -i 's/\.php\"-->/\.php\");\?>/g'
I na kraju imamo: <?php include("/file.php");?>
* Naravno, mogao sam optimizorati perl regex i napraviti gore navedeno u dva koraka ali izabrani način mi je bio 'brži' i sigurniji.