]> git.sesse.net Git - remoteglot-book/blob - find-pgn-split-point.sh
Indent fix.
[remoteglot-book] / find-pgn-split-point.sh
1 #! /bin/sh
2 FILE="$1"
3 P=$2
4 NUM=$3
5
6 split_point() {
7         FILE="$1"
8         P=$2
9         NUM=$3
10         SIZE=$( stat -c %s "$FILE" )
11
12         if [ "$P" -eq "0" ]; then
13                 echo 0
14         elif [ "$P" -eq "$NUM" ]; then
15                 echo $SIZE
16         else 
17                 TENTATIVE_SPLIT_POINT=$(( SIZE * P / NUM ))
18                 OFFS=$( tail -c +${TENTATIVE_SPLIT_POINT} "$FILE" | grep -b '^\[Event ' | head -n 1 | cut -d: -f1 )
19                 if [ -z "$OFFS" ]; then
20                         echo $SIZE
21                 else
22                         echo $(( TENTATIVE_SPLIT_POINT + OFFS ))
23                 fi
24         fi
25 }
26
27 split_point "$FILE" $P $NUM