我最近发现了这种解决方案,它可以根据可用内核更少地并行压缩gz文件。
find . -name "*.gz" | xargs -n 1 -P 3 zgrep -H '{pattern to search}'
P.S。 3是内核数
我想知道是否还有一种方法可以对bz2文件进行处理。目前,我正在使用此命令:
find -type f -name '*.bz2' -execdir bzgrep "{text to find}" {} /dev/null \;
将*.gz
更改为*.bz2
;将zgrep
更改为bzgrep
,就在那里。
关于特殊文件名的额外安全性,请在-print0
端使用find
,在-0
上使用xargs
:
find . -name "*.bz2" -print0 | xargs -0 -n 1 -P 3 bzgrep -H '{pattern to search}'