Portál AbcLinuxu, 25. října 2025 01:22
cat file |
while read line; do
case "$line" in
{pattern}) echo "$line";;
esac
done
A v pripade, ze takyto sh.pat.grep existuje, ako mu zadat, ze nechcem podretazce, ale riadky, ktore splnaju dany pattern uplne ( analogia v regexpoch: {regexp} vs. ^{regexp}$ )
[[ "$line" == *pattern* ]], třeba to bude rychlejší.
Anebo si ty patterny můžeš převést na regexpy
shellgrep() {
[ $# -lt 1 ] &&
echo -e "Usage:\n\tshellgrep pattern [grep params ...]" &&
return 0
pattern="${1//\./\\.}"
pattern="${pattern//\\?/.}"
pattern="${pattern//\\*/.*}"
shift
grep "^$pattern$" "$@"
}
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.