list.sh
上传用户:kjfoods
上传日期:2020-07-06
资源大小:29949k
文件大小:2k
源码类别:

midi

开发平台:

Unix_Linux

  1. #! /bin/sh
  2. # Piggy list consistency checker
  3. LANG=C
  4. export LANG
  5. TEMPFILE=/tmp/vlclist.tmp.$$
  6. LISTFILE=LIST
  7. LISTFILE2=/tmp/vlclist2.tmp.$$
  8. LISTFILE3=/tmp/vlclist3.tmp.$$
  9. rm -f $TEMPFILE
  10. touch $TEMPFILE
  11. echo "------------------------------------"
  12. echo "Checking that all modules are listed"
  13. echo "------------------------------------"
  14. i=0
  15. for modfile in `find . -name "Modules.am"`
  16. do
  17.  for module in `grep "SOURCES_" $modfile|awk '{print $1}'|awk 'BEGIN {FS="SOURCES_"};{print $2}'`
  18.  do
  19.   echo $module >> $TEMPFILE
  20.   if [ `grep " * $module:" $LISTFILE |wc -l` = 0 ]
  21.   then
  22.    echo "$module exists in $modfile, but not listed"
  23.    i=1
  24.   fi
  25.  done
  26. done
  27. if [ $i = 0 ]
  28. then
  29.   echo "OK"
  30. fi
  31. i=0
  32. echo
  33. echo "--------------------------------------"
  34. echo "Checking that all listed modules exist"
  35. echo "--------------------------------------"
  36. for module in `grep " * " $LISTFILE|awk '{print $2}'|sed s,':',,g `
  37. do
  38.  if [ `grep $module $TEMPFILE|wc -l` = 0 ]
  39.  then
  40.   i=1
  41.   echo "$module is listed but does not exist"
  42.  fi
  43. done
  44. if [ $i = 0 ]
  45. then
  46.   echo "OK"
  47. fi
  48. echo
  49. echo "-------------------------------"
  50. echo "Checking for alphabetical order"
  51. echo "-------------------------------"
  52. rm -f $LISTFILE2
  53. touch $LISTFILE2
  54. rm -f $LISTFILE3
  55. touch $LISTFILE3
  56. grep " * " $LISTFILE  >> $LISTFILE2
  57. sort -n $LISTFILE2 >> $LISTFILE3
  58. i=`diff $LISTFILE2 $LISTFILE3|wc -l`
  59. diff -u $LISTFILE2 $LISTFILE3
  60. if [ $i = 0 ]
  61. then 
  62.   echo "OK"
  63. fi
  64. echo ""
  65. echo "`cat $TEMPFILE| wc -l` modules listed in Modules.am files"
  66. rm -f $TEMPFILE
  67. rm -f $LISTFILE2
  68. rm -f $LISTFILE3