我最近发现了这个解决方案,可以根据可用的内核并行压缩 gz 文件。
find . -name "*.gz" | xargs -n 1 -P 3 zgrep -H '{pattern to search}'
Run Code Online (Sandbox Code Playgroud)
PS 3 是核心数
我想知道是否也有办法对 bz2 文件执行此操作。目前我正在使用这个命令:
find -type f -name '*.bz2' -execdir bzgrep "{text to find}" {} /dev/null \;
Run Code Online (Sandbox Code Playgroud)
改成;*.gz *.bz2更改zgrep为bzgrep,然后就可以了。
为了在不寻常的文件名周围提供额外的安全性,请-print0在find末尾和-0后面使用xargs:
find . -name "*.bz2" -print0 | xargs -0 -n 1 -P 3 bzgrep -H '{pattern to search}'
Run Code Online (Sandbox Code Playgroud)