Скрипт bash, объединяющий команды, включает флаги?

gawk '
{
    for(i = 1; i <= NF; i++) {
        arr[$i]++
    }
}
END {
    PROCINFO["sorted_in"] = "@val_num_desc"

    for(i in arr) {
        printf "%s@%s ", i, arr[i]
    }
    print ""
}
' FPAT='[a-zA-Z]+' input.txt

Пояснение

PROCINFO["sorted_in"] = "@val_num_desc"-Упорядочивание по значениям элементов в порядке убывания (, а не по индексам ). Скалярные значения сравниваются как числа. См. Предопределенные порядки сканирования массива .

FPAT='[a-zA-Z]+'-Регулярное выражение, описывающее содержимое полей в записи. Если установлено, gawkанализирует ввод в поля, где поля соответствуют регулярному выражению, вместо используя значение переменной FS в качестве разделителя полей.

Вход

This is a test Test test test There are multiple tests.
This is a test Test test test There are multiple tests.
This is a test Test test test There are multiple tests.

Выход

test@9 tests@3 Test@3 multiple@3 a@3 This@3 There@3 are@3 is@3 
0
25.10.2019, 06:45
1 ответ

Вы даете какой-то вариант вашему сценарию, но никогда не передаете его cowsay.

Для этого используйте

fortune | cowsay "$@"

в вашем скрипте. "$@"расширится до списка аргументов командной строки, которые были переданы вашему сценарию, например, опции -d, если это то, с чем вы вызывали свой сценарий.

2
28.01.2020, 02:29

Теги

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