Функция Bash, которая будет ждать завершения процесса перед запуском нового

С помощью GNU datamash (и awk для изменения порядка столбцов, если это важно для вас):

$ datamash -W --header-in groupby 1,4 count 4 < teams.csv | awk '{print $3, $2, $1}'
1 Loss Knicks
1 Win Celtics
2 Loss Lakers
1 Win Knicks
1 Win Lakers

Обратите внимание, что, поскольку мы не просим сортировать datamash, группируются только те результаты, которые уже находятся рядом.

Если ваши данные действительно разделены запятой , замените-Wна-t,

0
31.07.2020, 22:33
1 ответ

Вы создаете функцию в своем скрипте, но никогда ее не используете. Вы можете получить этот скрипт, а затем вызватьpidwait 4569(no./ )или добавить вызов функции внутри скрипта:

#!/usr/bin/env bash

function pidwait()
{
    while kill -0 "$1"; do
        echo "Process $1 still running..."
        sleep 1
    done
    echo "Process $1 is done"
}

pidwait "$1"

Кроме того, использование одинарных кавычек во второй команде echo приведет к выводу литерала $1вместо значения первого параметра.

2
18.03.2021, 23:15

Теги

Похожие вопросы