2015-10-17 3 views
-2

Я смущен этим файлом make.sh. Я прочитал предыдущие сообщения о структуре сценариев оболочки, но я не смог узнать об этом файле. Какова функция этого файла? ....объясните мне этот сценарий оболочки

Может кто-нибудь объяснить это шаг за шагом?

#!/bin/sh 

    rm out/* 
    example_number=0 

    for name in `ls in` 
    do 


    out=`cat in/$name | grep ".o " | tr -s \ | cut -d\ -f2` 
    inp=`cat in/$name | grep ".i " | tr -s \ | cut -d\ -f2` 

    echo -n "${name} (i=${inp}, o=${out}) " 

    if [ $inp -le 12 ] 
    then 


    cat in/$name \ 
    | sed '/.i/d' \ 
    | sed '/.o/d' \ 
    | sed '/.p/d' \ 
    | sed '/.e/d' \ 
    | sed 's/|/ /g' \ 
    | tr -s \ \ 
    | sed 's/^[ \t]*//;s/[ \t]*$//' \ 
    > out/${name}.in 

     tst=`cat out/${name}.in | cut -d\ -f2 | grep - -c` 

     if [ $tst -ne 0 ] 
     then 
     echo "remove file" 
     rm out/${name}.in 
     else 
     echo processing... 
     ./unix2dos.exe -q out/${name}.in 
     example_number=`expr $example_number + 1` 
     fi 

    else 
     echo " skip" 

    fi 
    done 



    for name in `grep 2 -l out/*` 
    do 
     echo Remove $name 
     rm $name 
     example_number=`expr $example_number - 1` 
    done 

    echo Number of examples is $example_number 

    # bad files 
    # apla (222?) 
    # tms 
    # mainpa... 
+1

Вам нужно прочитать и изучить программирование оболочки unix. Ответ выходит за рамки или цели SO. –

ответ

0

Это не Makefile, а сценарий оболочки. Вы можете увидеть это с расширения файла .sh и из заголовка

#!/bin/sh 

Что является инструкцией использовать оболочку, чтобы выполнить этот файл.

+0

Можете ли вы это объяснить? – sasha

+0

@sasha, что было бы немного. Попытайтесь немного прочитать о сценариях оболочки, а затем задайте более конкретный вопрос. – Finn

Смежные вопросы