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: