>_ IzzyLab

Практическое задание

find -print0 | xargs -0

средне

Посчитай суммарное число строк во всех *.txt внутри /root/tree (среди них есть файл с пробелом в имени!) и запиши число в /root/total.txt. Имена с пробелами должны обработаться корректно.

Что потренируешь:
  • find
  • xargs
  • нулевой разделитель
  • wc
  • обработка имён с пробелами

Разбор темы

Пробел — легитимный символ в имени файла, но для многих утилит он же служит разделителем аргументов, поэтому связка find | xargs по умолчанию разрывает такие имена на куски. Решение — договориться об ином разделителе: вместо перевода строки/пробела использовать нулевой байт (\0), которого в путях не бывает. find умеет печатать пути через \0, а xargs — читать их в том же режиме; дальше остаётся склеить содержимое и посчитать строки счётчиком wc.

Что проверяется

  1. суммарно 6 строк во всех .txt

Как это выглядит