| 
									
										
										
										
											2013-10-01 09:28:23 +03:00
										 |  |  | #!/usr/bin/env bash | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | tournament=autumn2013 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Regexps to parse the result of game | 
					
						
							|  |  |  | date='([0-9]{2}\.[0-9]{2}\.[0-9]{4})' | 
					
						
							|  |  |  | white='(.+)' | 
					
						
							|  |  |  | black='(.+)' | 
					
						
							|  |  |  | result='((1|0|0\.5):(1|0|0\.5))' | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-10-02 09:26:11 +03:00
										 |  |  | script_path=`dirname $0` | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-10-01 09:28:23 +03:00
										 |  |  | # Directories to search `tour_info' in | 
					
						
							|  |  |  | if [[ $# != 0 ]]; then | 
					
						
							|  |  |  |     tour_dirs=() | 
					
						
							|  |  |  |     for number in $@; do | 
					
						
							|  |  |  |         # Change tour numbers: `1' -> `01', `2' -> `02', and so on | 
					
						
							|  |  |  |         number=0"$number" | 
					
						
							|  |  |  |         number=${number:(-2)} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-10-02 09:26:11 +03:00
										 |  |  |         tour_dirs+=($script_path/$tournament/tour_$number) | 
					
						
							| 
									
										
										
										
											2013-10-01 09:28:23 +03:00
										 |  |  |     done | 
					
						
							|  |  |  | else | 
					
						
							| 
									
										
										
										
											2013-10-02 09:26:11 +03:00
										 |  |  |     tour_dirs=($script_path/$tournament/tour_*) | 
					
						
							| 
									
										
										
										
											2013-10-01 09:28:23 +03:00
										 |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | for dir in "${tour_dirs[@]}"; do | 
					
						
							|  |  |  |     number=${dir:(-2)} | 
					
						
							|  |  |  |     number=${number#0} # remove the leading `0' if any | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     echo "- number: ${number}" | 
					
						
							|  |  |  |     echo "  games:" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     # Add a newline at the end of `tour_info' to parse the last line | 
					
						
							|  |  |  |     tour_info=$(cat $dir/tour_info && echo) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     while read line; do | 
					
						
							|  |  |  |         # Parsed data of game: date a[1], white player a[2], black | 
					
						
							|  |  |  |         # player a[6], and the result a[3] | 
					
						
							| 
									
										
										
										
											2013-10-01 18:30:29 +03:00
										 |  |  |         data=( $(echo "$line" | gawk --re-interval \ | 
					
						
							| 
									
										
										
										
											2013-11-08 10:06:41 +02:00
										 |  |  |             'match($0, /'${date}' [-—] '${white}' '${result}' '${black}'/, a) \ | 
					
						
							| 
									
										
										
										
											2013-10-01 18:30:29 +03:00
										 |  |  |             { print a[1], a[2], a[6], a[3] }') ) | 
					
						
							| 
									
										
										
										
											2013-10-01 09:28:23 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  |         if [[ ${#data[@]} != 0 ]]; then | 
					
						
							|  |  |  |             echo "  - date:   ${data[0]}" | 
					
						
							|  |  |  |             echo "    white:  ${data[1]}" | 
					
						
							|  |  |  |             echo "    black:  ${data[2]}" | 
					
						
							| 
									
										
										
										
											2013-10-01 18:30:29 +03:00
										 |  |  |             echo "    result: '${data[3]}'" | 
					
						
							| 
									
										
										
										
											2013-10-01 09:28:23 +03:00
										 |  |  |             echo | 
					
						
							|  |  |  |         fi | 
					
						
							|  |  |  |     done <<< "$tour_info" | 
					
						
							|  |  |  | done |