rm -f $(<to_be_removed.txt)
Это работает, потому что rm
может принимать несколько файлов в качестве входных данных. Это также делает его намного более эффективным, потому что вы вызываете rm
только один раз, и вам не нужно создавать канал для cat
или xargs
В отдельном примечании вместо использования конвейеров в цикле while можно избежать подоболочки, используя подстановку процесса:
while read line; do
some operation on $a;
done < <(command something)
Дополнительным преимуществом, которое вы получаете, избегая подоболочки, является то, что переменные, которые вы изменяете внутри цикла, сохраняют свои измененные значения вне цикла. Это не тот случай, когда используется форма трубы, и это распространенная ошибка.