Znajdź & Zamień tekst w wielu dokumentach z wiersza poleceń
Jeśli nie masz problemów z wierszem poleceń i kiedykolwiek musisz znaleźć i zamienić słowo, frazę, adres URL lub znak w grupie wielu dokumentów tekstowych, perl radzi sobie całkiem dobrze. Prosty ciąg poleceń bardzo szybko wykona grupowe wyszukiwanie i zastępowanie tekstu, czy to w pojedynczym dokumencie, czy w grupie wielu dokumentów.
Podobnie jak wiele rzeczy w wierszu poleceń, nie ma procesu potwierdzania, więc przed zainicjowaniem polecenia upewnij się, że składnia jest ustawiona poprawnie, w przeciwnym razie może być konieczne wykonanie kolejnego wyszukiwania i zamiany aby poprawić literówkę.
Podstawowa składnia polecenia jest następująca: perl -pi -w -e 's/TO/TAMTO/g;' /ścieżka/do/plików.txt
Dla przykładu pojedynczego słowa, jeśli chcesz zamienić wszystkie wystąpienia słowa „ogr” na „chleb kukurydziany” w każdym pliku .txt w folderze „Dokumenty”, użyjesz następującego polecenia:
perl -pi -w -e 's/ogr/chleb kukurydziany/g;' ~/Dokumenty/.txt
Dla przykładu znajdowania i zastępowania całego wyrażenia załóżmy, że zamienimy całe zdanie „Fabryka Czekolady ” z „Czarnoksiężnikiem z krainy Oz” w grupie plików .txt zaczynających się od „Filmy” przechowywanych w katalogu Dokumenty:
perl -pi -w -e 's/Fabryka czekolady/Czarnoksiężnik z Krainy Oz/g;' ~/Dokumenty/Filmy.txt
Znajdź i zamień jest wykonywane natychmiast. Możesz dwukrotnie sprawdzić zmianę, używając cat i grep, aby sprawdzić:
cat ~/Documents/Films124.txt |grep Czarnoksiężnik z krainy Oz"
To prawda, że jest to dość zaawansowane i tak, grupowe znajdowanie i zastępowanie wielu dokumentów można wykonać w bardziej przyjazny dla użytkownika sposób za pomocą aplikacji GUI, takich jak TextWrangler i BBEdit, ale czasami linia poleceń jest po prostu szybsza do szybkich zadań, takich jak ta i inne, które są podobne, a ponadto nie wymaga żadnych dodatkowych pobrań.
Wielkie brawa dla Lifehackera za doskonałą sztuczkę.
Update: Polecenie „sed” to kolejny sposób szybkiego znajdowania i zastępowania za pomocą wiersza poleceń. Omówienie sed to głównie temat na inny artykuł, ale podstawowa składnia używania sed do tego zadania jest nieco prostsza, a przez to łatwiejsza do zapamiętania:
sed -i 's/TO/TAMTO/g' /ścieżka/do/plików.txt
Nie ma dobrych ani złych sposobów, więc to, czy używasz Perla czy Seda, jest kwestią osobistych preferencji.