rec.sh
来自「Programa para calcular automatos」· Shell 代码 · 共 55 行
SH
55 行
#!/bin/bashARQ=$1if [ ! -e temp ] ; then mkdir temp ; else rm -Rf temp/* ; fiif [ ! -e data ] ; then mkdir data ; else rm -Rf data/* ; fiif [ ! -e $ARQ ] ; then echo "Arquivo inexistente ou sem acesso"; exit 1 ; fi BOLAS=`cat $ARQ | head -1 | tail -n 1`VARS=`cat $ARQ | head -2 | tail -n 1 | sed 's/V/Vazio/'`INICIAL=`cat $ARQ | head -3 | tail -n 1 | sed 's/[^0-9]//'`FINAL=`cat $ARQ | head -4 | tail -n 1 | sed 's/[^0-9]//'`IFS=" "NUMVARS="0"for i in $VARSdo NUMVARS=$((NUMVARS+1))doneIFS=""for i in `cat $ARQ | tail -n $NUMVARS`do VARTMP=`echo $i | sed 's/^\([^\ ]*\).*/\1/'` IFS=" " CONTADOR=0 for e in `echo $i | sed 's/^[^\ ]* \(.*\)/\1/'` do #echo "e: $e" for f in `echo $e | tr ',' ' ' | tr -d '-'` do echo "$VARTMP "`echo $f | sed s/[^0-9]*//` >> data/$CONTADOR done touch data/$CONTADOR CONTADOR=$((CONTADOR+1)) donedonefor i in data/*do ECHOTMP="" if [ "${INICIAL}" = "${i##*/}" ] ; then ECHOTMP="->" ; fi if [ "${FINAL}" = "${i##*/}" ] ; then ECHOTMP='+' ; fi ECHOTMP=`echo ${ECHOTMP}"${i##*/} = { "` IFS="" ECHOTMP=${ECHOTMP}"${i##*/} " for e in `cat ${i} | grep 'V' |sed 's/.* \(.*\)$/\1/'` do if [ ${i##*/} != "${e}" ] ; then ECHOTMP=${ECHOTMP}"$e " ; fi done echo "${ECHOTMP}}"done
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?