Команды SFK


    1        2        3        4        5        6        7        8        9        10    

Раздел 1. File System - Файловая cистема
copy | deblank | delete | deltree | filefind | filetime | fixfile | index | list | mkdir | name | olist | partcopy | rename | setbytes | space | sync | touch | treesize |


Help:   Рус   |   Eng        Refer:   Рус   |   Eng  

Команда: list

Как вывести список самых больших или самых последних файлов в дереве каталогов

под Windows, Mac OS X, Linux и Raspberry Pi

sfk list [-time] [-size|-size=digits] [...] dir [mask]

sfk sel[ect] -dir dir1 dir2 -file .ext1 .ext2 !.ext3 [...] Список всех или только выбранных файлов из дерева каталогов.
select — то же самое, но он игнорирует входные данные цепочки команд.

ПАРАМЕТРЫ

-nosub - не отображать содержимое подпапки

-time - показывать дату и время модификации

-flattime - показывать дату и время в более компактном формате

-tab - разделять столбцы символами табуляции, а не пробелами

-size[=n] - показать размер файлов [n символов в ширину]

-kbytes - или -kb перечисляет размеры в килобайтах, а не в байтах

-mbytes - или -gbytes перечисляет размеры в мегабайтах или гигабайтах

-kbpure - список без постфикса "kb"

-stat - показать статистику (количество файлов, каталогов, байт) и определить, были ли пропущены скрытые файлы или каталоги.

-juststat - не показывать имена файлов, только статистику.

-nofollow - или -nofo не переходит по символическим ссылкам на каталоги.
Используйте это, если список выполняется в бесконечной рекурсии.

-withdirs - список каталогов

-justdirs - список только каталогов

-hidden - список также скрытых или системных файлов

-arc - список содержимого известных zip, tar.gz и tar.bz2 как можно глубже, в том числе вложенные архивы. Введите "sfk help opt" для списка известных расширений файлов.

-qarc - быстрый список архивов, выводит только архивные записи на верхнем уровне, пропуская вложенные архивы.

-xarc - список содержимого любого zip-файла, независимо от расширение файла, а также файлы tar.gz и tar.bz2.
Читает первые байты каждого файла и поэтому выполняется медленнее, чем -ARC.

-qxarc - быстрый список содержимого архива.

-sort[=n] - сортировать по имени, выводить все или последние n файлов

-sortrev - сортировать по имени, в обратном порядке

-late[=n] - сортировать по времени, выводить последние [n] файлов последними

-old[=n] - сортировать по времени, список самых старых [n] файлов последними

-big[=n] - сортировать по размеру, список самых больших [n] файлов в последнюю очередь

-small[=n] - сортировать по размеру, перечислять наименьшие [n] файлов последними

-skiplate=n - сортировать по времени, выбрать все, кроме самых новых n

-minsize=s - список только файлов >= размер, например 10b или 100k

-maxsize=s - список только файлов <= размером, например 10 м или 4 г b=байты k=kbytes m=мегабайты g=гигабайты

-late=all - сортировать по времени, выводить список всех файлов

-notime - не указывать время, после -late или -old

-nosize - не указывать размер, после -big или -small

-pure - чистый список имен файлов, без учета времени, размера, заголовок или статистика.

-quot - заключать имена файлов в двойные кавычки. Нужен, когда выполняется постобработка списков имен файлов, содержащих пробелы.

-quiet - не показывать информацию о ходе сканирования

-since - вывести список только файлов, начиная с этой временной метки, например "2006-01-31 12:15:59
" или 20060131121559, 2006-01-31 или 20060131.

today: Файлы изменены с полуночи сегодняшнего дня.
1d: изменено с 1 дня, т.е. не считая с полуночи, но на 24 часа в прошлое.
5ч, 30м, 10с: 5 часов, 30 минут, 10 секунд.

-before - выбрать файлы, измененные до этой метки времени.

-today - короткая замена на "-since today".

-usectime - время использования или создания списка вместо времени модификации.
Может быть недоступен на некоторых файловых системах.

-utc - или -gmt выводит время UTC/GMT вместо местного времени.

-sincedir - сравнить с другим каталогом, вывести список файлов, которые или -sd, имеют другое время или содержимое.
Не содержит список файлов, которые были удалены.

-sinceadd - аналогично -sincedir, выводит только добавленные файлы.

-sincedif - как -sincedir, выводит только измененные файлы.
Не перечисляет файлы с разным временем, но с одинаковым содержимым. Добавленные файлы не отображаются.

-sincechg - список файлов с различным содержимым и добавленных файлов.
или -sc не выводит список файлов с разным временем, но с одинаковым содержимым.

-relnames - список имен файлов относительно указанных каталогов, т.е. удалить имена корневых каталогов в начале.

-abs[olute] - вывести список всех имен файлов с полным абсолютным путем.

-tofile - x записывает все имена непосредственно в файл x (используя меньше памяти чем цепочка команд +tofile x).

-maxfiles=n - выводит максимум n файлов.

-fileoff[set]=n - из всех выбранных файлов вывести только подмножество, начиная с индекса N. Первый файл имеет индекс 0.

-upat - синтаксис исключения в стиле unix с : вместо ! Например, -subdir :/tmp делает то же самое, что и -subdir !\tmp

-upat2 - также поддерживает подстановочный знак % вместо *

-tomake - .ext выбрать только те файлы, у которых нет или более старый, файл с расширением .ext в той же папке.

-tomake - outdir\$base.ext выбрать только те файлы, в которых нет или Более старый файл в Outdir с расширением .ext. Например, см. "SFK Run": Преобразование .wav в .mp3

important details of file name / extension selection:

- when - указание шаблона имени файла, начинающегося с точки "." И никаких подстановочных знаков, будут выбраны только файлы с этим расширением.

- В противном случае - шаблон ищется в любом месте имени файла.
Чтобы принудительно начать сравнение имен файлов, произнесите \pattern (с косой чертой).

- filename - означает относительное имя файла, а не имя каталога или пути.

command chaining difference between list and select: +list принимает файлы из предыдущих команд. +select игнорирует их. Это позволяет скриптам запускать множество независимых выборок в одной цепочке.

return codes for batch files 0 ничего не найдено 1 любые найденные файлы или каталоги

ПСЕВДОНИМЫ

sfk dir То же, что и "sfk list -stat".

sfk select То же, что и list, но игнорирует ввод цепочки.

sfk larc То же самое, что и "sfk list -arc".

sfk late То же, что и "sfk list -late".

sfk today То же, что и "SFK List -Today".

sfk big То же самое, что и "sfk list -big".

sfk old То же, что и "sfk list -old".

sfk small То же, что и "sfk list -small".

sfk times То же, что и "sfk list -times".

СМОТРИТЕ ТАКЖЕ

sfk help select Синтаксис выбора файла SFK.

sfk help opt для дальнейших общих опций.

sfk stat , чтобы перечислить размеры дерева каталогов.

sfk filetime Вывод всех значений времени в файле.

ПРИМЕРЫ

sfk list . Вывести список всех файлов текущего каталога и всех подкаталогов.

sfk list mydir !.bak !.tmp.txt Перечислить все файлы в mydir, кроме файлов .bak и .tmp.txt.

sfk list -dir . -file foo .htm .java* Здесь будут найдены и перечислены следующие примеры имен файлов:

  • thefoobar.dat соответствует любому шаблону "foo"
  • biginfo.htm соответствует точному расширению ".htm"
  • test.java.9.15 соответствует шаблону ".java*"

    Команда НЕ будет перечислять следующие примеры имен файлов: Шаблон foosys\thebar.dat должен совпадать с именем файла, а не с путем.
    biginfo.html не соответствует расширению ".htm"

    sfk list -dir mydir !tmp !\save\ -file .txt Список всех файлов .txt в mydir, исключая все вложенные папки с "tmp" в своем названии, или имеющих имя "save".

    sfk alias list = sfk list -noop После этого, просто набрав "list", вы получите список текущего каталога.

    sfk list -dir src1 -file .cpp -dir src2 -file .hpp Список файлов .cpp из src1, .hpp файлов из src2.

    sfk list -dir src "*examples*" перечислить содержимое всех каталогов, имеющих имя с "examples", находится где-то ниже SRC. Обратите внимание, что "*examples*" определяет path mask, в то время как "examples" будет еще одним корневым каталогом.
    в linux шаблоны с подстановочным знаком * ДОЛЖНЫ иметь кавычки "".

    sfk list -late -dir . -sub foo -file .jsp .java Список последних файлов .jsp и .java во всех каталогах ниже Текущий (.) имеет "foo" в своем pathname.

    sfk list -late -dir . *foo -file .jsp .java То же самое, только короче для набора.

    sfk list -justdirs -dir . *foo* -file .jsp .java Список всех папок, путь к которым "foo" и которые содержат любые файлы .jsp или .java.

    sfk list -sincedir src5 src1 .cpp При условии, что каталог src5 является более старой копией src1, перечислит файлы .cpp, которые были добавлены/изменены с момента создания src5.

    sfk list -pure -late=30 -quot | zip ..\update.zip -@ собрать последние 30 файлов из текущего каталога в zip-файл, используя опцию InfoZIP "-@" для использования списка имен файлов из stdin.

    sfk sel src .bak +del Выберите все файлы .bak в SRC, затем удалите их.

    sfk list -nosub -late mydir +sleep 5000 +loop каждые 5 секунд выводить список последних файлов mydir, исключая все содержимое вложенной папки.

    sfk list . .jpg +count Укажите количество файлов .jpg в текущем дереве каталогов.

    sfk list soundlib .wav -tomake outdir\$base.mp3 Список всех файлов .wav в папке soundlib, которые не имеют или имеют более старый файл .mp3 в папке outdir.
    Смотрите "sfk run" для полного примера -tomake.

    sfk load files.txt +list -noerr Из списка имен файлов сохранять только существующие имена файлов

    sfk list -nosub -flattime -tabs . .jpg +filter -stabform

    "ren $qcol3 \q$col1$col2-$col3\q" +run "$text" Переименуйте все файлы .jpg в текущей папке с префиксом время их модификации (наберите всю команду в одну строку).

    sfk larc src.zip +view показать список содержимого zip файла src.zip в Depeche View , для поиска имен файлов в интерактивном режиме ("SFK View" для получения подробной информации).

    sfk times mydir .txt Список времени всех файлов .txt в mydir

    sfk sel -flist mylist.txt -time -size Считывание имен файлов из MyList.txt и отображение их времени и размера

    sfk list . >lslr список файлов текущего каталога и всех подкаталогов в индексный текстовый файл "lslr" (названный в честь команды unix "ls -lR").
    Выполнение этого действия в корневом каталоге может занять некоторое время, но впоследствии Вы найдете местоположение каждого файла в режиме реального времени, просто набрав "sfk find lslr your_filename_pattern".

    sfk list -qarc -tofile lslrx . То же, что и выше, но включая hidden и sys. файлов, а также первый уровень содержимого каждого файла .zip и .jar. Использование -tofile вместо ">lslrx" редирект позволяет увидеть информацию о прогрессе.
    Если сделать это в корневом каталоге, таком как C:\, это может привести к появлению списка имен файлов размером в несколько сотен МБ.

    sfk list -hidden -arc -tofile lslrxl . Создайте окончательный список файлов, включая скрытые и sys файлы, содержимое .zip и .jar, содержимое .tar, tar.gz и tar.bz2, а также в виде содержимого архива, встроенного в архивы, например, файлы .class, встроенные в файлы .jar в архиве .tar.bz2.

    Запуск этой команды в корневом каталоге, таком как C:\, может занять несколько часов, и это может создать список файлов размером 1 Гб или более, поэтому убедитесь, что места достаточно на диске.

    examples with output:

    sfk list -late tfiles перечисляет самые последние файлы в дереве каталогов "tfiles", включая дату/время последнего изменения, так как первый столбец, отсортированный по времени модификации.

    Пример выходных данных:

     2006-11-26 14:52:00 tfiles\BaseLib\Trace\include\Trace.hpp
     2006-11-26 14:56:12 tfiles\FooBank\DB\include\DBController.hpp
     2006-11-26 14:56:20 tfiles\FooBank\DB\source\DBController.cpp
     2006-11-26 14:58:40 tfiles\Formats\18-ziptest.zip
     2006-11-26 14:58:59 tfiles\Formats\19-jartest.jar
     2006-11-26 15:10:20 tfiles\Formats\20-tab-data-line.txt
     

    sfk list -big testfiles Список самых больших файлов "testfiles", отсортированных по размеру.

       39 testfiles\Formats\20-tab-data-line.txt
      202 testfiles\BaseLib\Trace\include\Trace.hpp
      237 testfiles\FooBank\DB\include\DBController.hpp
      532 testfiles\FooBank\DB\source\DBController.cpp
     8864 testfiles\Formats\18-ziptest.zip
     8943 testfiles\Formats\19-jartest.jar
    

    sfk list -zip tdir Список всех файлов "tdir" и содержимого всех файлов .zip и файлы .jar, найденные в tdir:

     tdir\Formats\01-native-tab-crlf.txt
     tdir\Formats\02-crlf.txt
     tdir\Formats\15-float-text.txt
     tdir\Formats\16-short-words.txt
     tdir\Formats\18-ziptest.zip
     tdir\Formats\18-ziptest.zip\Formats/
     tdir\Formats\18-ziptest.zip\Formats/02-crlf.txt
     tdir\Formats\18-ziptest.zip\Formats/14-all-codes.txt
     tdir\Formats\18-ziptest.zip\Formats/15-float-text.txt
     tdir\Formats\18-ziptest.zip\Formats/16-short-words.txt
     tdir\Formats\18-ziptest.zip\Formats/17 blank dir/
     tdir\Formats\19-jartest.jar
     tdir\Formats\19-jartest.jar\META-INF/
     tdir\Formats\19-jartest.jar\META-INF/MANIFEST. МФ
     tdir\Formats\19-jartest.jar\Formats/
     tdir\Formats\19-jartest.jar\Formats/02-crlf.txt
     tdir\Formats\19-jartest.jar\Formats/03-native-tab-lf.txt
     tdir\Formats\19-jartest.jar\Formats/04-lf.txt
     tdir\Formats\19-jartest.jar\Formats/14-all-codes.txt
     tdir\Formats\19-jartest.jar\Formats/15-float-text.txt
     tdir\Formats\19-jartest.jar\Formats/16-short-words.txt
     tdir\Formats\20-tab-data-line.txt