gpt4 book ai didi

linux - grep 命令处理的文件的百分比或数量

转载 作者:太空宇宙 更新时间:2023-11-04 10:29:31 25 4
gpt4 key购买 nike

例如,如果我使用 GREP 命令从 1000 个文件中搜索/检查关键字/字符串;那么是否有任何选项/方式来查看/显示 GREP 命令处理的文件的百分比或数量...?。

只是我想知道完成搜索过程还需要多长时间。

请帮忙

最佳答案

试试 awk。这将打印一条消息,提示正在处理的文件编号,后跟匹配模式的行。我在这里选择模式作为字符 p,因为这对我的测试来说很容易。您可以根据需要替换为任何有效的正则表达式。

awk -v PAT="p" 'FNR == 1 { n++; printf "Processing %d of %d files\n", n, ARGC - 1 >> "/dev/stderr"} FILENAME ~ /.gz$/ {print "Skipping gz file: ", FILENAME; nextfile} /PAT/'

解释

awk -v PAT="p" '
FNR == 1 { # Every first line of the file
n++; # Counter for file being processed
printf "Processing %d of %d files\n", # Print message
n, # file number
ARGC - 1 # Number of files on CLI
>> "/dev/stderr" # Redirect to stderr
}
FILENAME ~ /.gz$/ { # Skip gunzip files
print "Skipping gz file: ", FILENAME;
nextfile # move to next file
}
/PAT/ # Pattern to print
'

更新

更新代码以在处理时跳过 gunzip (.gz) 文件。

关于linux - grep 命令处理的文件的百分比或数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40567553/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com