KorzystanieJak zastąpić ciąg w istniejącym pliku w Perl natomiast nie dotyka plików niezmienione
perl -pi -e 's/pattern/replacement/g' $(find src -type f)
jest ładny, z wyjątkiem jednej rzeczy: Wszystkie pliki są nadpisywane, nawet tych bez meczu. To nie jest dobre, ponieważ często utrzymuję wiele z nich otwartych w Emacs lub Eclipse, które zadają mi nudne pytania. Czy istnieje prosty sposób, aby zapobiec dotykaniu niezmienionych plików (Coś takiego jak użycie polecenia grep w find to zbyt dużo pracy, szczególnie w przypadku złożonych wzorów).
Czy mógłbyś wyjaśnić swoją notatkę dotyczącą 'xargs'? – maaartinus
@maaartinus, Istnieje ograniczenie wielkości linii poleceń. Jest znacznie większy niż kiedyś, ale nie jest tak trudno go dosięgnąć. 'xargs' rozwiązuje ten problem, uruchamiając program więcej niż raz, jeśli to konieczne. Na przykład, zrobi to 'foo plik1 plik2 ... plik499' i' foo plik500 plik501 ... plik999' zamiast tego robi 'foo plik1 plik2 ... plik999' jeśli to drugie nie jest możliwe. – ikegami