zsh-workers
 help / color / mirror / code / Atom feed
556e58cd6960fb979692e32bdf3fd4674d9df6ce blob 498 bytes (raw)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
 
# Usage: zpgrep <perl5-compatible regex> <file1> <file2> ... <fileN>
#

zpgrep() {
local file pattern ret

pattern=$1
shift
ret=1

if ((! ARGC)) then
	set -- -
fi

zmodload zsh/pcre || return
pcre_compile -- "$pattern"
pcre_study

for file
do
	if [[ "$file" == - ]] then
		while IFS= read -ru0 buf; do
			pcre_match -- "$buf" && ret=0 && print -r -- "$buf"
		done
	else
		while IFS= read -ru0 buf; do
			pcre_match -- "$buf" && ret=0 && print -r -- "$buf"
		done < "$file"
	fi
done
return "$ret"
}
debug log:

solving 556e58cd6 ...
found 556e58cd6 in https://git.vuxu.org/mirror/zsh/

Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).