To pytanie może być głupie i super łatwe dla koneserów linux, ale zastanawiałem się na przykład, Chcę użyć polecenia & gt; find, aby wyszukać plik i wysłać wyniki do pliku tekstowego, ktoś wie, jak mogę to zrobić? Używam lucid lynx btw
To pytanie może być głupie i super łatwe dla koneserów linux, ale zastanawiałem się na przykład, Chcę użyć polecenia & gt; find, aby wyszukać plik i wysłać wyniki do pliku tekstowego, ktoś wie, jak mogę to zrobić? Używam lucid lynx btw
Odpowiedzi:
Chcesz użyć przekierowanie dla tego.
find -somecriteria > somefile.txt
find
dostępne w takiej czy innej formie.
find $doc_root -name saveuser.php
- jeśli nie znasz doc_root swojego serwera WWW, użyj /
JEŚLI chcesz po prostu znaleźć określone pliki. Jak odpowiedział Ignacio:
find -somecriteria > somefile.txt
Jeśli chcesz znaleźć określone pliki i wyświetlić zawartość tych plików.
find -somecriteria -exec cat {} + > somefile.txt
Możesz uruchomić polecenia Pythona, używając go podproces moduł i zapisz wyniki w plikach tekstowych. Przekierowanie działa również (jak pokazuje @Ignacio), ale zawartość pliku zostanie nadpisana przy każdym uruchomieniu polecenia.
Wydaje się, że potrzebujesz znaleźć plik według FILENAME, a nie inne kryteria.
Istnieje o wiele lepsze narzędzie do tego niż dostępne „znajdź”, zwane „lokalizuj”. Używa bazy danych locate, aby znaleźć pliki według nazwy, więc jest znacznie szybszy niż wyszukiwanie w systemie plików.
Po pierwsze, uruchom polecenie „updatedb” jako root, aby upewnić się, że baza danych lokalizacji jest aktualna - i ewentualnie dodaj zadanie CRON, które będzie uruchamiane w nocy, jeśli jeszcze nie istnieje.
Następnie użyj „locate filename” lub „locate -r regexp”, aby zlokalizować pliki.
Wspominam o drugiej opcji, ponieważ „locate abc.log” znajdzie na przykład abc.log.1 i abc.log.1.gz i cokolwiek innego pasuje. Zatem „locate -r abc.log $” w tym przypadku zlokalizuje TYLKO pliki o nazwie abc.log
Wreszcie, jak już wspomniano, aby umieścić wynikowy wynik polecenia w pliku, użyj & gt; jak w:
locate -r \^abc.log\$ > /home/me/all.abc.log.files
Tak, możesz użyć przekierowania:
$ find . > some_file_name.txt
$ cat some_file_name.txt
The >
symbol na końcu polecenia przekierowuje każde wyjście, które normalnie trafia do konsoli, zamiast tego zapisuje plik, którego nazwa jest po >
.
|
symbol - nie jest wielką literą ani numerem jeden, ale pionową kreską. ”, tuż przed prezentowaniem rur jako lepszego sposobu robienia rzeczy niż za pomocą przekierowania <
i >
) napisać wyjście jednego polecenia do pliku, a następnie odczytać ten plik jako dane wejściowe do innego polecenia.