P005 SLUŽBY POČÍTAČOVÝCH SÍTÍ
Obsah
|
Regulární výrazy, substituce
$ perl -e 'while (<>)
{ s/:M012:3:/:M012:4:/; print; }'
Cyklus pomocí -n a -p$ perl -ne 's/:M012:3:/:M012:4:/; print;'
$ perl -pe 's/:M012:3:/:M012:4:/;'
In-place$ perl -i -pe 's/:M012:3:/:M012:4:/;' *
Číslování řádků souboru$ perl -ne 'print ++$i, ": $_";'
$ perl -ne 'BEGIN { $i = 1; }
printf "%d: $_", $i++, $_;'
$ perl -pe 'print ++$i, ": ";'
Grep pomocí regulárního výrazu, vloženého přímo do příkazu$ perl -ne 'print if /reg_výraz/;'
Backreference
$ perl -e '$_ = <>; s/(\w)/$1:/g; print;'
General protection
G:e:n:e:r:a:l: p:r:o:t:e:c:t:i:o:n:
V regulárních výrazech můžeme kromě
., .*, .?, [a-h], atd
použít i \w, \l, \L,
\u, \d, \s, ...
$ echo $LC_CTYPE
cs
$ perl -e '$_ = <>; s/(\w)/$1:/g; print;'
maličký ježeček
m:a:l:i:č:k:ý: j:e:ž:e:č:e:k:
Akceptují nastavené locales$ ( LC_CTYPE=C;
perl -e '$_ = <>; s/(\w)/$1:/g; print;' )
maličký ježeček
m:a:l:i:čk:ý j:e:že:če:k:
Lookaheads/(\w)(\w)/$1:$2/g;
m:al:ič:ký j:ež:eč:ek
s/(\w)(?=\w)/$1:/g;
m:a:l:i:č:k:ý j:e:ž:e:č:e:k
Comment stripper#!/usr/bin/perl -w
while (<>) {
$longer and s!^.*?\*/!!
and $longer = 0;
$longer and $_ = '';
s!/\*.*?\*/!!g;
s!/\*.*!! and $longer = 1;
print;
}
Jan Pazdziora adelton@informatics.muni.cz