Portál AbcLinuxu, 13. května 2025 21:50
Ahoj_X_-_s01x20_Ahoj_svete Ahoj_X_-_s04x03_Ubuntu
Řešení dotazu:
sed "s/\(x[0-9]*\)_.*/\1/"
Ale určitě přijde nějaký minimalista a vymyslí to ještě efektněji/efektivněji s/^(Ahoj_X_-_s\d{2}x\d{2}_).*$/$1/Pokud na místě 01, 20, 04 a 03 mohou být libovolné dvojice číslic.
s/^\(................\).*/\1/
s/(?<=\d\d[ex]\d\d).*$//i; # s ponechanim pripony s/(?<=\d\d[ex]\d\d).*(?=\.[^.*]$)//i;
<pre>Ahoj_X_-_s01x20_<b>Ahoj_svete</b> Ahoj_X_-_s04x03_<b>Ubuntu</b></pre>tedy:
/^(.*s\d+x\d+_)/t.j. v Perle by to vyzeralo takto:
($text_line) = $text_line =~ /^(.*s\d+x\d+_/Priradzovanie regex zhody do premennej je neporovnatelne rychlejsie nez substitucny regex.
Tak to máš nějakej divnej prohlížeč ne ?
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.