Я начал изучать bash совсем недавно и должен найти количество команд из файла, файл может быть загружен с этой ссылке.
пример
Я понимаю, что я должен использовать cut и uniq, но я не могу понять, как. Любая помощь приветствуется.
Я начал изучать bash совсем недавно и должен найти количество команд из файла, файл может быть загружен с этой ссылке.
пример
Я понимаю, что я должен использовать cut и uniq, но я не могу понять, как. Любая помощь приветствуется.
сказать teamsfile
файл, содержащий данные, из которых вы хотите общее количество команд, то
cut
и uniq
tail -n +2 teamsfile | cut -d "," -f2 | uniq | wc -l
tail-n +2 teamsfile - выводит файл, но не выводит первую строку (в вашем случае это метки значений)
cut-d", " - f2 - вырезать 2-е поле, разделенное запятой (действует как delimiter)
uniq - показать только уникальные значения. (Можно также использовать sort -u
)
wc-l - вывести количество строк в выводе
в качестве альтернативы вы можете использовать sed
и awk
. они очень полезны в таких задачах.
grep
избежать напечатать линию Ist.cat teamsfile | grep -v "Team" | cut -d "," -f2 | sort -u | wc -l
вы можете просто использовать awk для печати всей команды, а затем найти счетчик.
grep -v "Team" teamsfile | awk -F',' '{print }' | sort -u | wc -l
этот один вкладыш передаст вам число команд.
объяснение ::
grep: выберет все строки, содержащие ключевое слово' Team'.
awk: он разбивает строки на основе "запятая" и печатает 2-й столбец, содержащий имена команд.
sort-u: сначала отсортирует все имена команд в алфавитном порядке, а затем сохраняет только уникальные записи.
wc-l: количество строк, на которых присутствуют данные, в случае, если количество уникальных имен команд.
Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]