Nowe posty

xx Przy uploadzie przerywane są wszystkie połączenia (4)
Wczoraj o 22:13:37
xx Apache2 i twarde https (3)
2020-05-25, 15:53:43
xx Czy istnieje emulator terminala który zapamieta komendy na jakiejś liście? (9)
2020-05-23, 17:04:57
xx RTLinux wybór dystrybucji (0)
2020-05-23, 15:42:54
xx Problem z instalacją Ubuntu na bootowalnym pendrajwie (9)
2020-05-22, 15:08:12
xx Ubuntudde 20.04 LTS nie działa Lightdm (8)
2020-05-22, 09:16:42
xx [Gra za darmo] GTA5 (1)
2020-05-20, 21:49:26
xx Marketing (1)
2020-05-13, 08:00:41
xx Polecenia Debian (1)
2020-05-10, 19:58:54
xx Uruchamianie pliku z każdego katlogu (2)
2020-05-10, 19:23:33

Autor Wątek: Znajdź w plikach i skasuj całą linię  (Przeczytany 12406 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ę.