Próbuję utworzyć skrypt dla plików logów znajdujących się w/var/log /. Jestem w stanie albo odzyskać nieskompresowane logi, albo skompresowane logi (w wyniku rotacji logów), ale nie udało mi się wykonać obu w jednym poleceniu (gdy próbuję to zrobić, otrzymuję "plik binarny (standardowe wejście)"), czy można zrobić coś takiego? dzięki!Czy mogę pomieszać zarówno skompresowane pliki, jak i nieskompresowane pliki, używając tego samego polecenia:
Odpowiedz
spróbować zrobić to za pomocą shell funkcję:
greplog() {
cd /var/log
{
cat $1 $1.*[0-9]
zcat $1.*.gz
} | grep "$2"
}
Zastosowanie:
$ greplog syslog pattern
działało idealnie, dzięki! – lacrosse1991
Aby być spójnym z grep i innymi, czy nie byłoby lepiej mieć "syslog" typu greplog? – hbogert
zgrep
może zrobić dla ciebie, obsługuje zarówno pliki skompresowane i nieskompresowane. Jedną wadą jest to, że nie może traktować katalogów rekursywnie. Ale w przypadku Twojej instancji jest w pełni wystarczająca i możesz filtrować np. syslog następująco:
$ zgrep PATTERN /var/log/syslog*
xzgrep
jest one stop shop dla powszechnie skompresowanych plików, przynajmniej na Ubuntu 10.12 16 i MacOS (zainstalowany z XZ od DarwinPorts). Od strony man: xzgrep invokes grep(1) on files which may be either uncompressed or compressed with xz(1), lzma(1), gzip(1), or bzip2(1)
.
Usage (uwaga -r nie jest obsługiwany):
$ find . -type f | parallel -j4 'xzgrep -Hn "PATTERN" {}'
- 1. jquery "Minified" "Nieskompresowane" pliki
- 2. łączenie kilku LZO skompresowane pliki na HDFS
- 3. Czy mogę mieć zarówno kontroler, jak i kontroler ApiController dla tego samego?
- 4. Jak mogę ukryć ukryte pliki?
- 5. AVAssetWriter Jak zapisywać próbkowane/skompresowane pliki m4a/mp3?
- 6. Jak skompilować i połączyć pliki obiektów w C++ przy użyciu tego samego pliku nagłówkowego?
- 7. Załaduj pliki skompresowane w elastyczny sposób do elastycznej mapyReduce
- 8. Jak znaleźć pliki w Perforce używając P4V?
- 9. Czy powinienem używać tego samego detektora ViewController do pracy zarówno modalnie, jak i po naciśnięciu?
- 10. ASP.NET Core 2.0 łączący pliki cookie i autoryzację na okaziciela dla tego samego punktu końcowego
- 11. Pliki i dane POST z ograniczeniami czasowymi
- 12. Jak mogę odczytać skompresowane pliki Snappy na HDFS bez korzystania z Hadoop?
- 13. Czy mogę scalać pliki w git?
- 14. Czy mogę dodać pliki .h i .cpp do projektu C#?
- 15. Rozpakuj tylko nowe pliki używając Git
- 16. Czy mogę vim szanować moje pliki .gitignore?
- 17. Czy mogę podpisać moje pliki DLL?
- 18. Jak porównać dwa pliki tekstowe dla tego samego tekstu za pomocą BASH?
- 19. Jak skopiować pliki DLL do tego samego folderu, co plik wykonywalny za pomocą CMake?
- 20. Czy mogę pominąć pliki .pyo i .pyc w RPM?
- 21. Czy mogę obsługiwać pliki MP3 w PHP?
- 22. Jak tworzyć różne pliki dzienników dla różnych pakietów przy użyciu tego samego programu rejestrującego log4j?
- 23. ręcznie scalić dwa pliki używając diff
- 24. Używanie CMake, jak mogę połączyć pliki i je zainstalować
- 25. Jak przekonwertować pliki WMF na pliki SVG
- 26. Jak mogę wyodrębnić skompresowane archiwum w Perlu?
- 27. Dołącz pliki w wierszu polecenia z Ruby
- 28. Wyszukaj pliki w skrypcie wsadowym i przetwórz te pliki?
- 29. Jak uniknąć tego samego kodu podczas korzystania z bibliotek C++?
- 30. Rendering tego samego obrazu o różnych rozmiarach
@StevenPenny .gz i tak na przykład syslog, syslog.1, syslog.2.gz, syslog.3.gz i tak dalej – lacrosse1991