Sådan søger du rekursivt efter "foo" i .gz filer på RHEL Linux

Hvordan kan der søges rekursivt efter strengen "foo" i .gz filer i en mappehierarki på en RHEL Linux maskine, når kommandoen `zgrep -R -H "foo" .` ikke returnerer nogen resultater?

For at søge rekursivt efter strengen "foo" i .gz filer på en RHEL Linux maskine, kan du kombinere find og zgrep, bruge find og xargs, anvende en for-løkke, kontrollere filernes indhold, eller opdatere zgrep.

Sådan søges rekursivt efter strengen "foo" i .gz filer i et mappehierarki på en RHEL Linux maskine

Når kommandoen zgrep -R -H "foo" . ikke returnerer nogen resultater, kan du prøve følgende alternative metoder:

  • Brug find og zgrep sammen:

    Du kan kombinere find og zgrep for at søge rekursivt i .gz filer.

    find . -type f -name "*.gz" -exec zgrep -H "foo" {} \;
  • Brug find og xargs sammen:

    En anden metode er at bruge find sammen med xargs for at håndtere store mængder filer mere effektivt.

    find . -type f -name "*.gz" | xargs zgrep -H "foo"
  • Brug en for-løkke:

    Du kan også bruge en for-løkke i bash for at iterere gennem alle .gz filer og anvende zgrep på hver fil.

    for file in $(find . -type f -name "*.gz"); do zgrep -H "foo" "$file"; done
  • Kontroller filernes indhold:

    Sørg for, at de .gz filer, du søger i, faktisk indeholder tekst og ikke binære data, som zgrep ikke kan håndtere korrekt.

  • Opdater zgrep:

    Sørg for, at du bruger en opdateret version af zgrep, da ældre versioner kan have begrænsninger eller bugs.

Ved at anvende en af disse metoder burde du kunne søge rekursivt efter strengen "foo" i .gz filer i et mappehierarki på en RHEL Linux maskine.