Skocz do zawartości

[Bash] Skrypt Nadgrywajacy Wybrane Pliki (Poczatkujacy)


Mrok

Rekomendowane odpowiedzi

Chcialbym stworzyc prosty skrypt pozwalajacy na nadgranie wybranego pliku o stalej nazwie w katalogach domowych uzytkownikow. Nadgranie powinno zostac wykonane jezeli plik znajdujacy sie w katalogu uzytkownika spelnia warunek np ma okreslona zawartosc. O ile wyszukanie takich plikow moglbym zrobic poprzez wykonanie np w /home odpowiedniego grepa

 

egrep -iHnr "wzorzec" * > wynik

 

co powinno mi zwrocic sciezki do plików spelniajacych warunek w osobnych liniach, to nie wiem w jaki sposob pozniej z tego skorzystac i wstawic taka linie (sciezke) do warunku, ktory wykonywalby nadgranie pliku.

 

Zaczynam dopiero w ogole programowac wiec byc moze moje wyobrazenie oraz pytania moga sie wydac naiwne lub bledne ale wydaje mi sie ze nie musze tego robic tego poprzez posrednictwo pliku z wynikiem wyszukiwania. Moze jest mozliwe zrobienie algorytmu np:

1.Znajdz plik o okreslonej zawartosci

2.Jezeli znajdziesz taki plik wstaw sciezke do niego do zmiennej i nadgraj go plikiem z wybranej sciezki, jezeli nie szukaj dalej

3.Po nadgraniu szukaj dalej

 

bede wdzieczny za nauke

Odnośnik do komentarza
Udostępnij na innych stronach

Poczytaj o wykorzystaniu znaku ` :) To chyba sie nazywa odwrotnym apostrofem (na klawiaturze na klawiszu razem z tylda "~") i jest bardzo przydatne - mozesz wpisac swoja liste do zmiennej w skrypcie i potem iterowac po niej.

 

#!/bin/bash
LISTA=`egrep -iHnr "wzorzec" *`

for file in $LISTA
do
       ls -l $file # czy jakies tam inne Twoje polecenia
done

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
×
×
  • Dodaj nową pozycję...