Я использую свой собственный сгенерированный «скрипт», чтобы сделать рекурсивные, но читаемые списки моей аудиоколлекции на жестком диске — я удаляю разрешения из списка, но удаляю 1-ю цифру после букв разрешений, а вторую — цифру нулевого размера прямо перед датой папок. .
Все работало нормально, пока я не встретил что-то странное. Первый - это нормальные результаты, которые я получаю от своего «скрипта»:
ls -lAFGgRN --time-style=long-iso %1 | grep -v ^всего | sed "s/drwxr-xr-x [0-9].* [0-9] //;s/-rw-r--r-- 1//;s/-rwxr-xr-x 1// ;s/-r--r--r-- 1//" > ls-laR:
2011-09-13 11:39 A Tribute To Sepultura-1998-Sepultural Feast (Blackend, BLACK089CD (8 03341 16472 7), UK, Re-Release 2004)/
./A Tribute To Sepultura-1998-Sepultural Feast (Blackend, BLACK089CD (8 03341 16472 7), UK, Re-Release 2004):
303768 2011-09-13 11:39 _log+cue+cover_.vol00+99.par2
33621224 2011-09-13 14:07 _wav_.vol000+100.par2
25106024 2011-09-13 14:07 _wv_.vol000+100.par2
1806 2011-09-13 11:39 atributetosepultura98sepulturalfeast.cue
3702 2011-09-13 18:07 atributetosepultura98sepulturalfeast.log
496212410 2011-09-13 18:24 atributetosepultura98sepulturalfeast.wv
264054 2011-09-13 14:05 cover.jpg
А вот названия некоторых папок - по непонятным пока причинам - путаются:
(7 24388 91652 3), Netherlands, 2000)/
(8 8697-64763-2 8), USA, 2012)/
--- в то время как ls -lAFGgoN --time-style=long-iso без использования sed дает этот список:
drwxr-xr-x 1 0 2012-12-09 19:44 Chumbawamba-2000-Pass It Along (Single) (EMU Electrola GmbH, 7243 8 89165 2 3 (7 24388 91652 3), Netherlands, 2000)/
drwxr-xr-x 1 0 2012-08-25 00:26 Offspring-2012-Days Go By (Columbia, Sony Music, 88697 64763 2 (8 8697-64763-2 8), USA, 2012)/
Итак, вот вопрос к гуру: что происходит, почему мой «скрипт» работает нормально с одной папкой (папками) и не работает с другими?
ps. «ls» и «sed» — это двоичные файлы Windows, поэтому я использую «» для кавычек вместо «».
ls
имеет много вариантов форматирования. И есть такжеfind
, который является более мощным способом обхода структур каталогов. - person Gene   schedule 30.06.2017