Jump to content

User:Kompik/scripts/sed

From Wikipedia, the free encyclopedia

Here is a collection of scripts which I used in sed to assist with some articles. I use sed under Windows. Scripts can be easily adapted for Linux users, it is probably not difficult to adapt them for usage with other tools based on regular expressions.

WTA statistics

[edit]

Example usage

[edit]

Input

[edit]

I copy the data from the pdf-file on the WTA site http://www.wtatennis.com/SEWTATour-Archive/Rankings_Stats/match_stats_2015.pdf to get the following file and name it aces.txt. I add the newline at the end.

1 PLISKOVA , KAROLINA 53 7
2 KVITOVA , PETRA 48 8
3 ZAHLAVOVA STRYCOVA , B 33 7
4 MUGURUZA , GARBINE 27 3
5 WILLIAMS , VENUS 26 5
6 VANDEWEGHE , COCO 24 3
7 IVANOVIC , ANA 23 4
8 WATSON , HEATHER 23 5
9 GOERGES , JULIA 22 3
10 KEYS , MADISON 22 4

Output

[edit]

After running urobaces.bat I get the file which renders like this. (I have to remove extra char added at the end of file when joinging the files together.)

EDIT: I don't know why the table does not render here and is placed at the bottom of the page instead, but the same code works fine here.

ACES
# Player Aces Matches
1 Czech Republic Karolína Plíšková 53 7
2 Czech Republic Petra Kvitova 48 8
3 Czech Republic Barbora Záhlavová-Strýcová 33 7
4 Spain Garbine Muguruza 27 3
5 United States Venus Williams 26 5
6 United States Coco Vandeweghe 24 3
7 Serbia Ana Ivanovic 23 4
8 United Kingdom Heather Watson 23 5
9 Germany Julia Görges 22 3
10 United States Madison Keys 22 4

Scripts

[edit]

I put the scripts also on my website: http://msleziak.com/temp/wiki/001stats.zip

urobaces.bat:

call sedpath
sed -f mena.sed aces.txt > aces1.txt
sed -f pom.sed aces1.txt > aces2.txt
sed -f parne.sed aces2.txt > aces3.txt
sed -f newline.sed aces3.txt > aces4.txt
sed -f names.sed aces4.txt > aces5.txt
sed -f center.sed aces5.txt > aces6.txt
copy acesstart.txt+aces6.txt+acesend.txt acesout.txt

mena.sed and names.sed: these files have to be made manually
mena.sed:

s/GOERGES , JULIA/GOERGESJULIA/
s/IVANOVIC , ANA/IVANOVICANA/
s/KEYS , MADISON/KEYSMADISON/
s/KVITOVA , PETRA/KVITOVAPETRA/
s/MUGURUZA , GARBINE/MUGURUZAGARBINE/
s/PLISKOVA , KAROLINA/PLISKOVAKAROLINA/
s/VANDEWEGHE , COCO/VANDEWEGHECOCO/
s/WATSON , HEATHER/WATSONHEATHER/
s/WILLIAMS , SERENA/WILLIAMSSERENA/
s/WILLIAMS , VENUS/WILLIAMSVENUS/
s/ZAHLAVOVA STRYCOVA , B/ZAHLAVOVASTRYCOVAB/

names.sed:

s/GOERGESJULIA/Germany Julia Görges/
s/IVANOVICANA/Serbia Ana Ivanovic/
s/KEYSMADISON/United States Madison Keys/
s/KVITOVAPETRA/Czech Republic Petra Kvitova/
s/MUGURUZAGARBINE/Spain Garbine Muguruza/
s/PLISKOVAKAROLINA/Czech Republic Karolína Plíšková/
s/VANDEWEGHECOCO/United States Coco Vandeweghe/
s/WATSONHEATHER/United Kingdom Heather Watson/
s/WILLIAMSSERENA/United States Serena Williams/
s/WILLIAMSVENUS/United States Venus Williams/
s/ZAHLAVOVASTRYCOVAB/Czech Republic Barbora Záhlavová-Strýcová/

pom.sed:

s/^/|-|/
s/ /|/
s/ /|/
s/ /|CENTER/

parne.sed:

1 s/|-|/|- style="background:#FFF0F5;"|/
3 s/|-|/|- style="background:#FFF0F5;"|/
5 s/|-|/|- style="background:#FFF0F5;"|/
7 s/|-|/|- style="background:#FFF0F5;"|/
9 s/|-|/|- style="background:#FFF0F5;"|/

newline.sed:

s/|\([^-]\)/\n|\1/g

center.sed:

s/CENTER/align=center|/

Tennis draws

[edit]

I have made some scripts which take to partially automatize creation of a draw for tennis tournament (and filling in players' names, but not results). I will copy it here when I have more time.