Команды 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
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 или -nfo не следует символическим ссылкам на каталоги
                 используйте это, если список работает в бесконечной рекурсии

      -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=кбайты 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 часа раньше.
                 5h, 30m, 10s : 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

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

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

   коды возврата для пакетных файлов
      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 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*" определяет маску пути,
         тогда как «examples» (без звездочек) будет другим корневым каталогом
         (под Linux шаблоны с подстановочным знаком * ДОЛЖНЫ заключаться в кавычки "")

     sfk list -late -dir . -sub foo -file .jsp .java
         список самых последних файлов .jsp и .java во всех каталогах ниже
         текущего (.), имеющих «foo» в своем пути

     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 «-@» нужен, чтобы использовать список имен файлов из стандартного ввода

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

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

      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 .
         то же, что и выше, но включая скрытые и системные файлы, а также
         первый уровень содержимого каждого файла .zip и .jar. используя -tofile ,
         вместо перенаправления «>lslrx» вы можете видеть информацию о ходе выполнения.
         ВНИМАНИЕ ! Выполнение этого в корневом каталоге, таком как C:\, может привести
         к отображению списка имен файлов размером в несколько сотен мегабайт.

      sfk list -hidden -arc -tofile lslrxl .
        Создать окончательный список файлов, включая скрытые и системные файлы.
        Содержимое .zip и .jar, .tar, tar.gz и tar.bz2, а также содержимое, встроенное в архивы,
        например файлы .class, встроенные в файлы .jar в архиве .tar.bz2.
        ВНИМАНИЕ ! Выполнение этой команды в корневом каталоге, таком как C:\, может занять
        несколько часов, и это может создать список файлов объемом 1 ГБ или более,
        поэтому убедитесь, что на диске достаточно места.