Команда: 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