[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Несколько вопросов вразброс



On 12.07.2012 12:50, Stanislav Maslovski wrote:
> On Wed, Jul 11, 2012 at 10:36:22PM +0400, "Артём Н." wrote:
>> Приложил скрипт, который у меня получился.
>> mkbackup - сам скрипт.
>> mks      - парсер, убирающий тесты.
>> ready    - готовый скрипт после обработки.
>>
>> Вроде, работает, хотя и не всё доделано.
>> Ощущения: получилось очень "тяжеловесно".
> 
> [кусь]
> 
>> #!/bin/sh
>>
>> fl="$1"
>> fl=${-:-$fl}
>>
>> awk '
>>    BEGIN {
>>       prf = 0;
>>    }
>>
>>    /^#!\/bin\/bash/ {
>>       print "#!/bin/sh";
>>       next;
>>    }
>>
>>    /###TESTING/ {
>>       prf = pfm + 1;
>>       next;
>>    }
>>
>>    /###\/TESTING/ {
>>       if (prf == 0)
>>       {
>>          print "Error: unexpected ###\/TESTING" > "/dev/stderr";
>>          exit 1;
>>       }
>>       prf = prf - 1;
>>       next;
>>    }
>>
>>    {
>>       if (prf == 0) print;
>>    }
>>
>>    END {
>>       if (prf > 0)
>>       {
>>          print "Error: unclosed ###TESTING";
>>          exit 1;
>>       }
>>    }
>> ' "$fl"
> 
> Жесть.
> 
> $ sed -e '1s/#!\/bin\/bash/#!\/bin\/sh/;/###TESTING/,/###\/TESTING/d' mkbackup > ready
Вложенность не поддерживается (может быть не закрытый тег). :-D
А, вообще, awk мне просто понятнее и привычнее.
Это дело вкуса.


Reply to: