| #!/bin/sh |
| |
| # Copyright 2011 The Go Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style |
| # license that can be found in the LICENSE file. |
| |
| # This code parses mapping.old and finds a correspondence from the old |
| # urls (e.g. #42) to the corresponding path (e.g. /concurrency/3). |
| |
| function findURL { |
| title="$1" |
| file=$(grep -l "* $title\$" *.article) |
| if [[ -z $file ]] |
| then |
| echo "undefined" |
| return 1 |
| fi |
| titles=$(grep "^* " $file | awk '{print NR, $0}') |
| page=$(echo "$titles" | grep "* $title\$" | awk '{print $1}') |
| if [[ $(echo "$page" | wc -l) -gt "1" ]] |
| then |
| echo "multiple matches found for $title; find 'CHOOSE BETWEEN' in the output" 1>&2 |
| page="CHOOSE BETWEEN $page" |
| fi |
| |
| page=$(echo $page) |
| lesson=$(echo "$file" | rev | cut -c 9- | rev) |
| echo "'/$lesson/$page'" |
| return 0 |
| } |
| |
| mapping=`cat mapping.old` |
| |
| pushd ../content |
| echo "$mapping" | while read page; do |
| num=$(echo "$page" | awk '{print $1}') |
| title=$(echo "$page" | sed "s/[0-9]* //") |
| url=$(findURL "$title") |
| echo " '#$num': $url, // $title" |
| done |
| popd > /dev/null |