Portál AbcLinuxu, 7. května 2025 14:57

Dotaz: Odmazání určitého řádku ze souboru

18.4.2010 08:28 Franta
Odmazání určitého řádku ze souboru
Přečteno: 362×
Odpovědět | Admin
Dobry den, chtěl bych poradit jak udělat script který by mi prošel konkrétní adresář a prošel všechny html soubory a odstranil z nich konkrétní řádek, konkrétně by na něm mělo být
indexx
Mohl by mi prosím s tímto někdo pomoci? Děkuji.

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

18.4.2010 09:18 Vojtěch Horký | skóre: 39 | blog: Vojtův zápisník | Praha
Rozbalit Rozbalit vše Re: Odmazání určitého řádku ze souboru
Odpovědět | | Sbalit | Link | Blokovat | Admin
+- takhle (ale bude to fungovat pouze s GNU sedem):
for i in adresar/*.html; do
    sed -e '/indexx/d' -i "$i";
done
I am always ready to learn although I do not always like to be taught. (W. Churchill)
18.4.2010 20:30 mirek
Rozbalit Rozbalit vše Re: Odmazání určitého řádku ze souboru
Použil jsem tento postup a funguje bezvadně, jen je tam více podadresářů a já bych potřeboval aby to prošlo i tyto podadresáře.
Řešení 1× (NeoV)
18.4.2010 20:43 Vojtěch Horký | skóre: 39 | blog: Vojtův zápisník | Praha
Rozbalit Rozbalit vše Re: Odmazání určitého řádku ze souboru
Tak to stačí spojit s tím, co psal AraxoN:
find adresar -name '*.html' -exec sed -e '/indexx/d' -i {} \;
Popř. pokud by i adresář mohl končit .html, tak ještě přidat -type f.
I am always ready to learn although I do not always like to be taught. (W. Churchill)
18.4.2010 22:38 vencas | skóre: 32
Rozbalit Rozbalit vše Re: Odmazání určitého řádku ze souboru
V zsh by stačilo **/*.html
18.4.2010 22:44 chrono
Rozbalit Rozbalit vše Re: Odmazání určitého řádku ze souboru
To vedia aj nove verzie bash. :)
AraxoN avatar 18.4.2010 09:21 AraxoN | skóre: 47 | blog: slon_v_porcelane | Košice
Rozbalit Rozbalit vše Re: Odmazání určitého řádku ze souboru
Odpovědět | | Sbalit | Link | Blokovat | Admin
Všetky HTML súbory nájdeš príkazom find:
find /cesta/ku/adresaru/ -name '*.html' -exec echo {} \;
V konkrétnom súbore potom "indexx" vynecháš cez grep:
grep -v "indexx" subor.html
Zbytok by mal byť relatívne jednoduchý.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.