LINUX.ORG.RU

История изменений

Исправление vodz, (текущая версия) :

Офигеть, специально чтоли в одну строку тянули, чтоб читали и матерились?

Занятно, что переписал на if-ах и стало быстрее (там, правда, ещё малось другие методы оптимизации, но их сравнивал отдельно):

O=0
while read LINE ; do
        if [[ -n $O ]]; then
                if [[ Five == "$LINE" ]]; then
                        O=
                else
                        [[ 1 -eq $O ]] && echo "$LINE" || [[ Two == "$LINE" ]] && O=1
                fi
        fi
done << EOF
$(echo -e "One\nTwo\nThree\nFour\nFive\nSix\nSeven")
EOF

Исходная версия vodz, :

Офигеть, специально чтоли в одну строку тянули, чтоб читали и матерились?

Занятно, что переписал на if-ах и стало быстрее (там, правда, ещё малось другие методы оптимизации, но их сравнивал отдельно):

O=0
while read LINE ; do
        if [[ -n $O ]]; then
                if [[ Five == "$LINE" ]]; then
                        O=
                else
                        [[ 1 -eq $O ]] && echo "$LINE" || [[ Two == "$LINE" ]] && O=1
                fi
        fi
done << Seven
$(echo -e "One\nTwo\nThree\nFour\nFive\nSix\nSeven")
Seven