Perigo: é perfeitamente legal que os caminhos Unix contenham novas linhas. Se algum dos seus caminhos contiver novas linhas, isso é potencialmente perigoso. Considere usar
para separar os nomes dos arquivos usando a opção find
-print0
do GNU xargs
e, em seguida, processando-os usando a opção GNU -0
' rm
.
Você pode usar o seguinte:
files=()
while IFS= read -r file; do
files+=( "$file" )
done < ind_soapr_db40.txt
rm -r -- "${files[@]}"
Você poderia chamar for
cada vez diretamente no loop rm
, mas isso seria mais lento do que preencher a lista de arquivos e processá-los em uma invocação de mapfile
.
Se você tem bash4 +, você pode usar %code% :
mapfile -t files < ind_soapr_db40.txt
rm -r -- "${files[@]}"