LINUX.ORG.RU

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

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

Вернусь сюда еще немного, и чтоб у вас не осталось впечатление, что это сейчас просто так повезло, а вообще вызывать grep для разбора строки — это нормально, покажу, как можно было б аккуратно разобрать вывод $ screen -ls, если бы по каким-то причинам мы не могли напрямую обратиться к файлам:

while read; do
    [[ $REPLY == $'\t'* ]] || continue
    IFS+='.' read pid sessionname __ <<< "$REPLY"
    printf '%s\n' "$sessionname"
done < \
     <(screen -ls)

Исправление Zmicier, :

Вернусь сюда еще немного, и чтоб у вас не осталось впечатление, что это сейчас так повезло, а вообще вызывать grep для разбора строки — это нормально, покажу, как можно было б аккуратно разобрать вывод $ screen -ls, если бы по каким-то причинам, мы не могли напрямую обратиться к файлам:

while read; do
    [[ $REPLY == $'\t'* ]] || continue
    IFS+='.' read pid sessionname __ <<< "$REPLY"
    printf '%s\n' "$sessionname"
done < \
     <(screen -ls)

Исправление Zmicier, :

Ну и чисто для справки показываю, как можно было б аккуратно разобрать вывод $ screen -ls, если бы по каким-то причинам, мы не могли напрямую обратиться к файлам:

while read; do
    [[ $REPLY == $'\t'* ]] || continue
    IFS+='.' read pid sessionname __ <<< "$REPLY"
    printf '%s\n' "$sessionname"
done < \
     <(screen -ls)

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

Ну и чисто для справки показываю, как можно было б аккуратно разобрать вывод

screen -ls
, если бы по каким-то причинам, мы не могли напрямую обратиться к файлам:

while read; do
    [[ $REPLY == $'\t'* ]] || continue
    IFS+='.' read pid sessionname __ <<< "$REPLY"
    printf '%s\n' "$sessionname"
done < \
     <(screen -ls)