Witaj na Forum Linuxiarzy
Zanim zalogujesz się, by pisać na naszym forum, zapoznaj się z kilkoma zasadami savoir-vivre'u w dziale Administracja.
Wiadomości z problemami zamieszczone w wątku "Przywitaj się" oraz wszelkie reklamy na naszym forum będą usuwane.

Zamiana treści w wielu plikach

Zaczęty przez cent, Marzec 04, 2022, 07:25:41 PM

Poprzedni wątek - Następny wątek

cent

Mam folder z ok 5GB plików (jest ich tam ponad 3 000 000) wszystko to pliki tekstowe.
Jak usunąć z tych plików całe linie, które na swoim początku zawierają określony taki sam ciąg znaków?

Sajmon


cent

sed '/słowo do skasowania/d' /path/to/folder
Ale nie kasuje treści w podkatalogach tylko w bieżącym folderze - jak zrobić, żeby kasował również w podfolderach?

pavbaranov

#3
Cóż... sed zawsze mnie przerażał, ale może to Ci się przyda: https://codepre.com/pl/guia-completa-de-comandos-sed-explained-with-practical-examples.html
Zresztą na forum.linux.pl Marcin Ci podaje jak to zrobić. W istocie chyba find+sed będzie najrozsądniejszym rozwiązaniem.

Sajmon

#4
find -type f -exec sed -i '/^costam/d' {} \;

jesli Twoje pliki maja rozszerzenie .txt, to zamiast -type f uzyj -name \*.txt

Zobacz najnowsze wiadomości na forum