[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"question-rabota-v-cli-bash-kak-rabotayut-komandy-sort-uniq-wc-cut-i-tr":3},{"id":4,"slug":5,"topicId":6,"topicSlug":7,"topicName":8,"topicEmoji":9,"question":10,"answer":11,"codeLang":12,"codeSrc":12,"important":12,"commonMistakes":12,"modernUsage":12,"difficulty":13,"tags":14,"related":23,"progress":24,"seo":25},158,"kak-rabotayut-komandy-sort-uniq-wc-cut-i-tr",4,"rabota-v-cli-bash","Работа в CLI (Bash)","💻","Как работают команды sort, uniq, wc, cut и tr?","Эти пять утилит — «строительные кирпичики» текстовых конвейеров в Unix. Каждая делает одну операцию, а вместе через пайпы они решают сложные задачи обработки данных.\n\n### sort — сортировка\n\n```bash\nsort file.txt                    # Лексикографическая сортировка\nsort -n file.txt                 # Числовая сортировка\nsort -r file.txt                 # Обратная сортировка\nsort -k2 file.txt                # Сортировать по второму полю\nsort -k2 -n file.txt             # Числовая сортировка по второму полю\nsort -t',' -k3 -n data.csv       # Разделитель — запятая, сортировка по 3-му полю\nsort -u file.txt                 # Сортировка + удаление дубликатов\nsort -h sizes.txt                # Сортировка human-readable размеров (10K, 2M, 1G)\n```\n\n### uniq — работа с дубликатами\n\n> **Важно:** `uniq` удаляет только **смежные** дубликаты, поэтому данные должны быть предварительно отсортированы.\n\n```bash\nsort file.txt | uniq             # Удалить дубликаты\nsort file.txt | uniq -c          # Подсчитать количество каждого дубликата\nsort file.txt | uniq -d          # Показать только дублирующиеся строки\nsort file.txt | uniq -u          # Показать только уникальные (не повторяющиеся) строки\nsort file.txt | uniq -ci         # Подсчёт без учёта регистра\n```\n\n### wc — подсчёт (word count)\n\n```bash\nwc file.txt                      # Строки, слова, байты\nwc -l file.txt                   # Только количество строк\nwc -w file.txt                   # Только количество слов\nwc -c file.txt                   # Количество байт\nwc -m file.txt                   # Количество символов (учитывает UTF-8)\nwc -l *.java                     # Количество строк в каждом файле + итог\n```\n\n### cut — извлечение полей или символов\n\n```bash\ncut -d',' -f1,3 data.csv         # Поля 1 и 3 (разделитель — запятая)\ncut -d':' -f1 \u002Fetc\u002Fpasswd        # Первое поле из \u002Fetc\u002Fpasswd\ncut -c1-10 file.txt              # Первые 10 символов каждой строки\ncut -d' ' -f2- file.txt          # Со 2-го поля до конца\n```\n\n### tr — замена и удаление символов (translate)\n\n```bash\necho \"HELLO\" | tr 'A-Z' 'a-z'           # В нижний регистр\necho \"hello\" | tr 'a-z' 'A-Z'           # В верхний регистр\necho \"hello   world\" | tr -s ' '        # Сжать повторяющиеся пробелы (-s = squeeze)\necho \"hello123\" | tr -d '0-9'           # Удалить цифры (-d = delete)\necho \"a:b:c\" | tr ':' '\\n'              # Заменить : на перенос строки\ncat file.txt | tr -d '\\r'               # Удалить возврат каретки (Windows -> Unix)\n```\n\n### Комплексный пример — анализ лога\n\n```bash\n# Топ-10 IP по количеству запросов\ncat access.log | awk '{print $1}' | sort | uniq -c | sort -rn | head -10\n\n# Подсчитать количество строк кода в Java-проекте (без пустых строк)\nfind src -name \"*.java\" -exec cat {} + | grep -v '^\\s*$' | wc -l\n```\n\n> **На собеседовании:** интервьюер проверяет понимание того, что `uniq` требует предварительной сортировки (иначе дубликаты на разных позициях не удалятся). Частая ошибка — использовать `uniq` без `sort` и удивляться, что дубликаты остаются.","","junior",[15,16,17,18,19,20,21,22],"cli","cut","linux","uniq","bash","sort","wc","tr",[],null,{"title":26,"description":27,"ogTitle":28,"ogDescription":29,"keywords":30,"schemaAnswer":35,"featuredSnippetReady":36},"Команды sort, uniq, wc, cut и tr в Linux — Gymterview","Как работают утилиты sort, uniq, wc, cut и tr в Linux: сортировка, уникальные строки, подсчёт слов, вырезание столбцов, замена символов с примерами.","sort, uniq, wc, cut, tr — утилиты обработки текста в Linux | Gymterview","Разбор текстовых утилит: sort — сортировка, uniq — уникальные строки, wc — подсчёт, cut — вырезание полей, tr — замена символов.",[31,18,21,16,22,32,33,34],"sort linux","сортировка linux","подсчёт строк","вырезание столбцов","Sort — сортировка строк (ключи -n, -r, -k, -t). Uniq — удаление дублей из отсортированных данных (-c для подсчёта). Wc — подсчёт строк, слов, байтов (-l, -w, -c). Cut — вырезание полей или символов (-f, -d, -c). Tr — замена или удаление символов (-d, -s).",true]