Po pierwsze:
Używam najnowszej wersji OSX i mogę edytować pliki HTML za pomocą CotEditor i KompoZer. Jestem jednak niedoświadczony w ogóle z edytorami HTML: /
Jeśli muszę - ponieważ jedna z twoich odpowiedzi jest super prosta i wygodna w ten sposób - mógłbym przełączyć się na maszynę Win7 do tego zadania.
Problem:
Mam tu nieco ponad 700 plików HTML, które mają tę samą podstawową strukturę, są zorganizowane w wiele tabel i muszę usunąć niektóre treści ze wszystkich, które składają się zawsze z tych samych wierszy z tytułami i poniżej kolumn ze zmianą zawartość. - Gdybym mógł określić coś w stylu „usuń całą kolumnę, która zawiera np.„ Nazwę ”w górnej komórce”, to by się udało.
Ponadto muszę usunąć powtarzające się części (które teoretycznie można znaleźć i zastąpić dla wszystkich plików ... ale, cóż, w jakiś sposób w partii)
Czy możesz mi pomóc? Czy KompoZer wykona sztuczkę wsadową lub czy masz inne zalecenie? Dzięki :)
-----EDYTOWAĆ-----
Spróbowałem TextWranglera, aby znaleźć go w partii i zastępuje możliwości i działa bardzo dobrze ze znalezieniem powtarzającego się kodu w wielu plikach, więc wiem, jak uzyskać dokładnie te same bity z każdego pliku. To pozostawia mi zmienioną treść.
Czy istnieje sposób na znalezienie treści między dwoma cyklicznymi punktami?
Na przykład, jeśli wiedziałem coś przed i po tym, jak treść, którą chcę usunąć, jest zawsze taka sama:
<tag> txt_a Content1_to_delete txt_b </tag>
<tag> txt_a Content2_to_delete txt_b </tag>
<tag> txt_a Content3_to_delete txt_b </tag>
więc potrzebowałbym Znajdź i; zastąpić między <tag> txt_a
i txt_b </tag>
lub nawet znajdź i amp; wymienić zaczynając od <tag> txt_a
do i włącznie txt_b </tag>
to jest dla mnie kłopotliwe, gdy naprawdę potrzebuję pomocy
----- EDIT2 -----
Po odpowiedzi Gombai Sándora w połączeniu z komentarzem Dooley_labs dostałem kilka pomysłów i chociaż wariant sed będzie działał z terminala, wybrałem TextWrangler do wykonania pracy.
TextWrangler może to zrobić Znajdź i amp; Zastąp w wielu plikach, ale akceptuje również wyrażenia regularne za pomocą opcji „grep”. Nauczyłem się o wyrażeniach regularnych i byłem w stanie rozwiązać mój problem. „Magiczny” kawałek dla mnie był taki, że poprawiałem symbole wieloznaczne. Szczególnie prosty .*
. Każdemu, kto chciałby zamieszać z wyrażeniami regularnymi, polecam tę stronę, która okazała się bardzo przydatna: regexr.com
Odpowiedzi:
Najczęstsze ogólne IDE mają funkcję (regexp) wyszukiwania i zastępowania w plikach (w strukturze katalogów). Nawet drobni redaktorzy oferują tę funkcję; w systemie Windows dobrym przykładem jest NotePad ++.
W przypadku OSX, gdzie masz zwykłe narzędzia powłoki, może to być typowe zadanie dla sed, który jest edytorem ... bardzo specjalnym edytorem.
Pod warunkiem, że wszystkie pliki znajdują się w tym samym katalogu, który znajduje się w tym katalogu, możesz użyć tego do usunięcia niepotrzebnych części i umieścić dane wyjściowe w plikach kończących się na .htm, które (po pewnym sprawdzeniu) możesz zmienić na .html.
Możliwe jest również usunięcie podciągów bezpośrednio w plikach (-i: inplace), ale nie polecam tego, chyba że masz aktualne kopie zapasowe.
źródło