Advertisement
Guest User

Untitled

a guest
Apr 26th, 2015
179
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.32 KB | None | 0 0
  1. #!/bin/sh
  2.  
  3. # ---- ここから設定箇所 ----
  4.  
  5. # Proceedingsの中身をHDDにコピーして,その中の"Settings"ディレクトリを以下に指定してください.
  6. ROOT_DIR="/Users/river24/Desktop/EIC2015G/Settings"
  7.  
  8. # 処理中の一時ファイルを出力する先を指定してください.
  9. TMP_DIR="/tmp"
  10.  
  11. # ---- ここまで設定箇所 ----
  12.  
  13. # 処理中に生成される一時ファイルです.
  14. PDF_LIST="${TMP_DIR}/pdf.list"
  15. PAGE_LIST="${TMP_DIR}/page.list"
  16. LINK_LIST="${TMP_DIR}/link.list"
  17. TMP_HTML="${TMP_DIR}/tmp.html"
  18. SESSION_LIST="${TMP_DIR}/session.list"
  19. PAPER_LIST="${TMP_DIR}/paper.list"
  20.  
  21. cd "${ROOT_DIR}"
  22.  
  23. # このスクリプトによる変更を施す前の './html' ディレクトリを,
  24. # './html.original' としてバックアップします.
  25. # このスクリプトによる変更を施す前に戻したい場合は,これから復元して下さい.
  26. if [ -e "./html.original" ]
  27. then
  28. sleep 0
  29. else
  30. if [ -e "./html" ]
  31. then
  32. cp -R "./html" "./html.original"
  33. else
  34. echo "'./html' directory is not found."
  35. exit
  36. fi
  37. fi
  38.  
  39. if [ -e "./html.original" ]
  40. then
  41. if [ -e "./html" ]
  42. then
  43. rm -rf "./html"
  44. fi
  45. cp -R "./html.original" "./html"
  46. else
  47. echo "failed to backup './html' directory as './html.original'."
  48. exit
  49. fi
  50.  
  51. if [ -e "./html" ]
  52. then
  53. sleep 0
  54. else
  55. echo "'./html' directory is not found."
  56. exit
  57. fi
  58.  
  59. if [ -e ${PDF_LIST} ]
  60. then
  61. rm "${PDF_LIST}"
  62. fi
  63.  
  64. find "./pdf" -type f | egrep "[^\/]+\.pdf" | perl -pe 's/^.*\/([^\/]+\.pdf).*$/$1/g' | sort | uniq > ${PDF_LIST}
  65.  
  66. find "./html" -type f | egrep "[^\/]+\.html" | xargs chmod 644
  67.  
  68. find "./html" -type f | egrep "[^\/]+\.html" |
  69. while read HTML
  70. do
  71. cat ${HTML} | perl -pe 's/<\/td>/<\/td>\n/g' | perl -pe 's/<tr>/<tr>\n/g' | perl -pe 's/<\/tr>/<\/tr>\n/g' > ${TMP_HTML}
  72. cp ${TMP_HTML} ${HTML}
  73. done
  74.  
  75. for PDF in `cat ${PDF_LIST}`
  76. do
  77. echo ${PDF}
  78. if [ -e ${PAGE_LIST} ]
  79. then
  80. rm "${PAGE_LIST}"
  81. fi
  82. find "./html" -type f | egrep "[^\/]+\.html" | xargs grep "${PDF}" | perl -pe 's/^([^:]+):.*(<a [^>]*href=\"[^\"]*${PDF}\"[^>]*>.+<\/a>).*$/$1:$2/g' > ${PAGE_LIST}
  83. if [ -e ${PAGE_LIST} ]
  84. then
  85. if [ -e ${LINK_LIST} ]
  86. then
  87. rm "${LINK_LIST}"
  88. fi
  89. touch ${LINK_LIST}
  90. echo '<form><select style="width: 60px; font-size: 8px;" onChange="location.href=value;"><option value="#">▼Link</option>' >> ${LINK_LIST}
  91. cat ${PAGE_LIST} |
  92. while read LINE
  93. do
  94. FLAG=`echo "${LINE}" | md5`
  95. PAGE=`echo "${LINE}" | perl -pe 's/^([^:]+):(.*)$/$1/g'`
  96. TEXT=`echo "${LINE}" | perl -pe 's/^([^:]+):(.*)$/$2/g' | perl -pe 's/^.*<a [^>]*>(.+)<\/a>.*$/$1/g' | perl -pe 's/<.*?>//g'`
  97. echo "<option value=\"../.${PAGE}#${FLAG}\">${TEXT}</option>" >> ${LINK_LIST}
  98. done
  99. echo '</select></form>' >> ${LINK_LIST}
  100. cat ${PAGE_LIST} |
  101. while read LINE
  102. do
  103. FLAG=`echo "${LINE}" | md5`
  104. PAGE=`echo "${LINE}" | perl -pe 's/^([^:]+):(.*)$/$1/g'`
  105. TARGET=`echo "${LINE}" | perl -pe 's/^([^:]+):(.*)$/$2/g'`
  106. LINKS=`cat ${LINK_LIST}`
  107. cat ${PAGE} | perl -pe "s|\Q${TARGET}\E|${TARGET}<a name='${FLAG}' id='${FLAG}'>&nbsp;</a><br />${LINKS}|g" > ${TMP_HTML}
  108. cp ${TMP_HTML} ${PAGE}
  109. done
  110. fi
  111. done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement