Linuxiarze.pl Forum

Dystrybucje Linux => Debian => Wątek zaczęty przez: cent w Marzec 04, 2022, 07:25:41 PM

Tytuł: Zamiana treści w wielu plikach
Wiadomość wysłana przez: cent w Marzec 04, 2022, 07:25:41 PM
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?
Tytuł: Odp: Zamiana treści w wielu plikach
Wiadomość wysłana przez: Sajmon w Marzec 05, 2022, 06:19:25 AM
sed -i '/^costam/d' *
Tytuł: Odp: Zamiana treści w wielu plikach
Wiadomość wysłana przez: cent w Marzec 05, 2022, 11:13:10 AM
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?
Tytuł: Odp: Zamiana treści w wielu plikach
Wiadomość wysłana przez: pavbaranov w Marzec 05, 2022, 12:28:55 PM
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.
Tytuł: Odp: Zamiana treści w wielu plikach
Wiadomość wysłana przez: Sajmon w Marzec 05, 2022, 03:00:02 PM
find -type f -exec sed -i '/^costam/d' {} \;

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