Я хочу удалить n (скажем 2 в нашем случае) самые большие файлы в каталоге.удалить n самых больших файлов в каталоге в терминале ubuntu
files=$(ls -S | head -2)
rm $files
Это не работает, потому что имена файлов имеют в них пробелы и всевозможные специальные символы. Я получил аналогичные результаты с этим ls -xS | head -2 | xargs rm
. Я думаю, нужно избегать всех специальных символов в имени файла, но есть различные типы специальных символов. Хотя это выполнимо, я не ожидал, что это будет сложно. Я использовал опцию -Q, чтобы указать имена файлов, но я все равно получаю ту же ошибку.
Downloads > files=$(ls -SQ | head -1)
Downloads > echo $files
"[ www.UsaBit.com ] - Little Children 2006 720p BRRip x264-PLAYNOW.mp4"
Downloads > rm $files
rm: cannot remove ‘"[’: No such file or directory
rm: cannot remove ‘www.UsaBit.com’: No such file or directory
rm: cannot remove ‘]’: No such file or directory
rm: cannot remove ‘-’: No such file or directory
rm: cannot remove ‘Little’: No such file or directory
rm: cannot remove ‘Children’: No such file or directory
rm: cannot remove ‘2006’: No such file or directory
rm: cannot remove ‘720p’: No such file or directory
rm: cannot remove ‘BRRip’: No such file or directory
rm: cannot remove ‘x264-PLAYNOW.mp4"’: No such file or directory
У них есть цитаты в них? –
к счастью нет! – quantdaddy
Я думал, вы имели в виду, что у меня есть котировки в имени файла. :) – quantdaddy