Program seryjnie wstawiający kod w stronach

Odpowiedz Nowy wątek
2006-12-12 12:13
procesoe
0

Witam - mam pytanie/prośbę o pomoc.

Mam kilkadziesiąt plików *.html (w różnych katalogach) które stanowią zgrabną całość.
Szukam programu, narzędzia, które umożliwiałoby:

  • wstawienie zadanego tekstu na początek pliku
  • wstawienie drugiego testu na końcu pliku
    Czyli wklejenie nagłówka i stopki. Podejrzewam, że dzięki wyrażeniom regularnym i PHP możnaby to łatwo zrobić, ale zależy mi aby program robił to dla większej liczy plików - np podając katalog zmienia we wszystkich plikach/podkatalogach, tekst jest stały.
    Właściwie to jest również zcalenie 3 plików w jeden. Jeśli ktoś ma taki programik, zna nazwę albo mógły coś zasugerować - byłbym wdzięczny.

Pozostało 580 znaków

2006-12-12 13:01
0

To można zrobić i bezproblemowo jako skrypt w PHP, równie prosto jako skrypt Basha pod Linuksem, a i pod Windows nawet w powłoce cmd powinno się udać, a już na pewno jako skrypt w PowerShellu.

Jeżeli chodzi o wstawianie na początek i koniec pliku, ten dokładny, a nie w miejsce jakiejś stałej, czy w określonym, bo wtedy będzie gorzej. Wtedy rzeczywiście wyrażenia regularne będą chyba najlepsze.

Da się to zrobić bardzo prosto - pętelka po wszystkich katalogach, potem po wszystkich plikach i dla nich zapisanie do pliku tekstu, aktualnej treści, stopki, zapis. A potem rekurencyjnie wykonać to dla podkatalogów.

Jak tu przyjdzie jakiś miłośnik Linuksa, to pewnie taki skrypt w bashu napisze w pięć minut i prościej niż ja powiedziałem (używając po prostu find i cat) ;)

Pozostało 580 znaków

2006-12-12 16:35
0

Mozna tez zainstalowac notepad++ - obsluguje wyrazenia regularne i ma opcje zamiany we wszystkich otwartych plikach. Ja zazwyczaj robie tak, ze otwieram commandera, daje sobie f4 na wszystkich (podpiete pod zewnetrzny edytor), a notepad++ otwiera je w zakladkach :)


You need to learn how to walk
before you can run

Pozostało 580 znaków

2006-12-13 16:15
0
Ktos napisał(a)

i pod Windows nawet w powłoce cmd powinno się udać

jak to przeczytalem to az postanowilem sprawdzic czy to wykonalne :-D
jednak sie da...

@echo off
if not exist "%2" goto usage
if not exist "%3" goto usage
echo type %%1 ^> buffor.tmp > concat.bat
echo type %2 ^> %%1 >> concat.bat
echo type buffor.tmp ^>^> %%1 >> concat.bat
echo del buffor.tmp >> concat.bat
echo type %3 ^>^> %%1 >> concat.bat
for %%z in (%1) do call concat "%%z"
del concat.bat
goto end
:usage
echo FileMerge Script by Piechnat
echo Usage example: fmerge *.html header.txt footer.txt
pause > nul
:end

Pozostało 580 znaków

2006-12-14 13:58
Procesoe
0

Świetne, dziękuję.

Jeśli teraz udałoby to się zrobić rekurencyjnie po katalogach... ale to powyżej jest i tak super.

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0