Nowe posty

xx Debian 9 Stretch, linuxcnc i restart przy uruchamianiu (0)
Dzisiaj o 08:26:11
xx Zakup sprzętu bez preinstalowanego windowsa (8)
Wczoraj o 16:50:51
xx Problem z pocztą Dovecot+Postfix+MySQL (3)
2019-10-16, 14:43:41
xx Instalacja Debian10 problem z instalacją GRUBa na RAID5 (5)
2019-10-15, 17:58:57
xx AMD Ryzen 5 3500U (11)
2019-10-14, 18:29:46
xx Konfiguracja directadmina (0)
2019-10-13, 03:18:36
xx Problem z instalacją sterowników TL-WN821N (4)
2019-10-11, 23:15:00
xx Sprzet z Linuxem (1)
2019-10-11, 10:06:24
xx nadpisanie partycji domowej (6)
2019-10-03, 03:27:28
xx Screen flickering Deepin (4)
2019-10-02, 20:32:56

Autor Wątek: Znajdź w plikach i skasuj całą linię  (Przeczytany 12279 razy)

Offline

  • Users
  • Nowy na forum
  • *
  • Wiadomości: 11
    • Zobacz profil
Znajdź w plikach i skasuj całą linię
« dnia: 2015-09-29, 07:40:18 »
Witam, bardzo proszę o pomoc w takiej sprawie:

Chciałbym znaleźć wszystkie pliki *.php w katalogu /home zawierające ciąg znaków:

bd26efa2f27f70847ba9a8619d6a3a5c

I znalazłem świetnie działające polecenie:

grep -r "_transient_feed_bd26efa2f27f70847ba9a8619d6a3a5c" *


Następnie chiałbym usunąć wszystkie linie zawierające w/w ciąg znaków. Takie polecenie dziala bardzo ladnie:

sed -i '/bd26efa2f27f70847ba9a8619d6a3a5c/d' *.php

Ale to ostatnie polecenie działa tylko w katalogu w którym jestem i nie szuka w podkatalogach. Potrzebne jest rozwiązanie aby to ostatnie polecenie wykonało pracę w całym podkatalogu /home na plikach *.php

Pomoże ktoś?

Znalazłem rozwiązanie:

grep -rl "bd26efa2f27f70847ba9a8619d6a3a5c" * -R | xargs sed -i '/bd26efa2f27f70847ba9a8619d6a3a5c/d'

Ale jak zrobić aby przeszukiwał tylko katalogi public_html w katalogu /home ?


Dziękuję

Krzysztof

Offline

  • Users
  • Stały bywalec
  • ***
  • Wiadomości: 102
    • Zobacz profil
Odp: Znajdź w plikach i skasuj całą linię
« Odpowiedź #1 dnia: 2015-09-29, 16:57:15 »
Dla bieżącego użytkownika:
find ~/public_html/ -iname '*.php' | xargs sed -i '/bd26efa2f27f70847ba9a8619d6a3a5c/d'

Dla wszystkich użytkowników:
find /home/*/public_html/ -iname '*.php' | xargs sed -i '/bd26efa2f27f70847ba9a8619d6a3a5c/d'

Offline

  • Users
  • Nowy na forum
  • *
  • Wiadomości: 11
    • Zobacz profil
Odp: Znajdź w plikach i skasuj całą linię
« Odpowiedź #2 dnia: 2015-09-29, 18:56:11 »
O widzisz :) Tego mi było trzeba.

Dziękuję.