>_ IzzyLab

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

Удали файлы из списка

средне

В /root/trash.txt — список путей к файлам (по одному на строку). Удали все перечисленные файлы одной командой, не трогая остальные.

Что потренируешь:
  • xargs
  • rm
  • stdin в аргументы
  • перенаправление ввода
  • разделители

Разбор темы

У многих команд (в том числе rm) нет режима «прочитай список целей из файла» — они ждут имена как аргументы. Мостик между текстовым потоком и аргументами команды — это xargs: он читает слова со стандартного ввода и подставляет их в вызов указанной команды. По умолчанию xargs режет вход по любым пробелам, поэтому для путей с пробелами разделителем стоит явно назначить только перевод строки (см. флаг -d), а сам список подать перенаправлением <.

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

  1. перечисленные файлы удалены
  2. файл keep.dat сохранён

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