Сколько файлов с расширением .htm содержится в подкаталогах каталога demo 12

Обновлено: 21.11.2024

Необязательно. Локализованный строковый идентификатор имени автора для отображения в Extension Manager. Используется только в том случае, если расширение настроено на многоязычность. Идентифицированная строка должна быть определена в файлах локализации.

Необязательно. Контейнер для одного или нескольких элементов расширения, описывающих расширения, от которых зависит это расширение.

расширение

Обязательно. Тег, описывающий расширение, от которого зависит это расширение. Он содержится в элементе зависимости.

Обязательно. Имя расширения, от которого зависит это расширение.

Пример

Обязательно. Контейнер, который содержит или указывает на HTML-текст, описывающий, что делает расширение или для чего оно используется. Текст появляется в диспетчере расширений при выборе расширения. Extension Manager отображает текст описания в содержимом CDATA. Если указан URL-адрес или путь к локальной веб-странице, он будет показан в виде интерактивной ссылки в верхней части описания. Если щелкнуть ссылку, Extension Manager откроет веб-страницу в браузере по умолчанию.

Содержимое элемента должно содержать раздел CDATA, который можно отформатировать с помощью тегов HTML. Если цвета текста не указаны, фон будет серым (62 62 62), а текст черным.

Для отображения двухбайтовых символов включите "charset=UTF-8". Пример:

Атрибуты: [href, resid, source, href-resid, source_resid]

Путь к файлу HTML на локальном компьютере относительно переменной $ExtensionSpecificEMStore в Extension Manager. См. Спецификацию местоположения.

Необязательно. Идентификатор локализованной строки для описания, отображаемого в Extension Manager. Используется только в том случае, если расширение настроено на многоязычность. Идентифицированная строка должна быть определена в файлах локализации.

Необязательно. Идентификатор локализованной строки для href для отображения в Extension Manager. Используется только в том случае, если расширение настроено на многоязычность. Идентифицированная строка должна быть определена в файлах локализации.

Необязательно. Локализованный строковый идентификатор источника для отображения в Extension Manager. Используется только в том случае, если расширение настроено на многоязычность. Идентифицированная строка должна быть определена в файлах локализации.

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

Чтобы создать расширение как часть пакета или платформы в Mac OS, используйте формат, подобный следующему, без подстановочных знаков:

Атрибуты: [xml:lang, products, default-file-type]

Необязательно. Язык для этой группы файлов.

Его значение – идентификатор локали (например, "en_US",...). Extension Manager устанавливает эти файлы, только если это текущий язык. Если Extension Manager не может определить текущий язык, он игнорирует это значение и устанавливает файлы.

Необязательно. Продукты, для которых должны быть установлены эти файлы. Если не указано, файлы устанавливаются для всех продуктов. Список товаров через запятую; см. продукт. Если расширение поддерживает несколько продуктов и в атрибуте назначения используется маркер пути для конкретного продукта, необходимо указать атрибут продуктов.

Необязательно. Тип содержащихся файлов по умолчанию. Один из:

– csxs: пакет расширения CS.

-плагин : встроенный плагин.

- обычный : обычные файлы не подвергаются специальной обработке Extension Manager.

Это значение переопределяется атрибутом типа файла содержащегося файла.

файл

Тег, содержащийся в элементе files и описывающий конкретный файл, который необходимо установить как часть этого расширения.

Атрибуты (дочерний элемент): источник, место назначения, [продукты, платформа, общий доступ, системный файл, расширение win, isresourcefile, тип файла, addToTrustFile, minVersion, maxVersion]

Обязательно. Имя файла и путь, по которому он находится относительно установочного файла. Файлы могут находиться в разных папках. См. Спецификацию местоположения.

Если все файлы в папке должны быть установлены в одну и ту же папку назначения, вам не нужно добавлять все файлы по отдельности. Поместите косую черту в конце имени папки при указании исходного атрибута, тогда все файлы в этой папке будут упакованы в расширение. Например, если имя папки «Ресурсы», следующая строка приведет к тому, что все файлы в этой папке будут скопированы в папку назначения:

Обязательно. Имя папки назначения, в которую следует поместить файл во время установки. Если эта папка не существует, Extension Manager создает ее во время установки. Сюда не входит имя файла, указанное атрибутом источника. Как правило, папки назначения должны находиться внутри папки конфигурации приложения. См. Спецификацию местоположения.

Необязательно. Продукты, для которых этот файл должен быть установлен. Если не указано, файл устанавливается для всех продуктов.Список товаров через запятую; посмотреть продукт.

Необязательно. Платформа, для которой предназначен этот файл, одна из «mac» или «win». Это позволяет вам предоставлять разные версии файла для разных платформ. Если файл не указан, он устанавливается на обе платформы.

Необязательно. Истинно, если файл используется более чем одним расширением. Значение по умолчанию — ложь.

Когда вы используете Extension Manager для удаления расширения, общий файл, связанный с этим расширением, не удаляется, пока другие установленные расширения ссылаются на этот файл.

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

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

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

Необязательно. Расширение имени файла, используемое, когда файл, созданный в Mac OS, не включает расширение Windows, например .fla или .htm.

Если вы создаете файл в Windows с расширением, например "mypage.htm", и устанавливаете его в Mac OS, это значение не требуется.

Если указано значение атрибута платформы, этот атрибут игнорируется.

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

Поместите файлы ресурсов в папку с именем installerPrefix.mxi_Resources. При загрузке MXI-файла Extension Manager копирует эту папку в папку Extension Manager верхнего уровня, где затем ищет текстовые строки.

Необязательно. Тип файла. Один из:

– csxs: пакет расширения CS.

-плагин : встроенный плагин.

- обычный : обычные файлы не подвергаются специальной обработке Extension Manager.

По умолчанию используется значение, указанное в элементе файлов-контейнеров.

Необязательно. Если файл SWF или файл HTML указан как addToTrustFile="true", во время установки расширения Extension Manager зарегистрирует этот файл как локальный доверенный в каталоге доверия Flash Player. Когда расширение будет удалено, Extension Manager отменит регистрацию этого файла. Значение по умолчанию — ложь.

Необязательно. Минимальная и максимальная версии продукта, в которых может быть установлен этот файл. Например, если minVersion равно 9, а maxVersion равно 10, файл не установлен в версии продукта 8 или 11. Используйте тот же формат, что и для атрибута версии расширения macromedia, major[.minor][.build].

Необязательно. Тег контейнера, указывающий любые пользовательские токены.

Содержание
Один или несколько тегов токена для определения пользовательских токенов. Например,

токен

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

Пользовательские маркеры также полезны для упрощения mxi-файла. Вы можете легко изменить каталог назначения нескольких файлов без необходимости вручную изменять каждый путь назначения в файле MXI. В этом случае вы должны использовать пользовательский токен так же, как токен $Dreamweaver , $Flash , $fonts или $system . Например, если ваше расширение содержит несколько файлов, которые необходимо установить в папку C:\program files\trailer, вы можете использовать тег маркера для определения пользовательского маркера с именем airstream; все файлы, использующие этот токен, устанавливаются в папку C:\program files\trailer.

Если вы хотите изменить папку назначения файлов с помощью токена $airstream, вам нужно внести только одно изменение в тег токена, а не изменять каждый экземпляр пути к новому месту назначения в вашем файле MXI.

Вы не можете переопределить токен $Dreamweaver , $Flash , $fonts , $system или другой предопределенный токен с помощью пользовательского токена.

Атрибуты

Имя вашего пользовательского токена. Это должно быть уникальное имя. Не включайте в имя знак доллара ($).

Определяет путь к файлу токена. Поскольку абсолютный путь зависит от платформы, вы должны использовать атрибут «платформа» тега «продукт» или «файл», чтобы указать, что файл должен быть установлен только в Windows или только в Mac. В приведенном ниже примере все файлы, использующие токен $airstream, устанавливаются в папку C:\program files\trailer.

Необязательно. Позволяет стороннему разработчику включать лицензионное соглашение с расширением. Если предоставлено, содержимое этого элемента отображается под заголовком Сторонняя лицензия в конце лицензии на установку нового расширения Adobe.

Содержимое должно содержать раздел CDATA, который можно отформатировать с помощью тегов HTML. Если цвета текста не указаны, фон будет серым (58 58 58), а текст не совсем белым (E0 E0 E0).

Необязательно. Локализованный строковый идентификатор лицензионного соглашения для отображения в Extension Manager. Используется только в том случае, если расширение настроено на многоязычность. Идентифицированная строка должна быть определена в файлах локализации.

Контейнер верхнего уровня для файла MXI. Открывающий тег должен быть в первой строке файла. Все остальные элементы являются дочерними элементами этого контейнера. Он должен содержать следующие элементы:

Если вы устанавливаете файлы, они должны содержать следующие элементы:

Необязательные содержащиеся элементы:

Attibures: id, name, version, [icon, force-quit, ismultilingual, name_resid, type, plugin-manager-type]

Обязательно. Уникальный идентификатор, присваиваемый Adobe при отправке расширения. Не изменять.

Обязательно. Имя расширения, отображаемое в Extension Manager. Тип данных VARCHAR с ограничением в 255 символов. Вы можете локализовать имя с помощью атрибута name_resid.

Обязательно. Содержит номер версии расширения в формате major[.minor[.build[.misc]]]. Старший номер, младший номер и номер сборки — все положительные целые числа. Часть misc может содержать только буквы или цифры. Например, 2,2.1 или 2.1.2.test3.

Необязательно. Путь к пользовательскому значку для этого расширения, который будет отображаться в диспетчере расширений. Может относиться к переменной $ExtensionSpecificEMStore менеджера расширений. См. [Спецификация местоположения].

Значки отображаются только в Extension Manager CS4 и более поздних версиях. Для CS3 или более ранней версии используйте атрибут type. Если не указано, используется значок по умолчанию.

Для правильного отображения пользовательского значка файл значка должен быть установлен в папке $ExtensionSpecificEMStore следующим образом:

Необязательно. Если задано значение true, целевой продукт должен быть закрыт, прежде чем расширение можно будет установить или изменить. Extension Manager предлагает пользователю выйти из работающего приложения, прежде чем продолжить операцию. Значение по умолчанию — ложь.

Появился в Extension Manager CS5, заменяет require-restart .

Примечание. Расширения с указанным атрибутом нельзя установить через панель Adobe Exchange. Это связано с тем, что панель Exchange работает в приложениях Creative Cloud.

Необязательно. Если задано значение true, устанавливаются файлы для конкретного языка и применяются локализованные строки пользовательского интерфейса в расширении. При значении false (по умолчанию) все многоязычные элементы игнорируются. Установите для этого атрибута значение true, только если расширение включает файлы локализации.

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

Необязательно. Только InDesign/InCopy CS5 и выше. Тип подключаемых модулей, один из:

all-users : когда какой-либо пользователь устанавливает плагин или расширение, оно становится доступным для всех пользователей. Если какой-либо пользователь отключит или удалит его, он по-прежнему будет доступен другим пользователям. Место назначения подключаемых модулей должно находиться в папке $indesign/Plug-Ins.

current-user : Когда пользователь устанавливает подключаемый модуль или расширение, они доступны только этому пользователю. Если этот пользователь отключит или удалит его, он больше не будет доступен ни одному пользователю. Место назначения подключаемых модулей не должно находиться в папке $indesign/Plug-Ins.

Обязательно. Контейнер для одного или нескольких элементов продукта, каждый из которых указывает продукт Adobe, в котором может быть установлено это расширение. Контейнер не имеет атрибутов.

продукт

Тег, содержащийся в элементе products, указывающий продукт, в котором может быть установлено это расширение.

Атрибуты (дочерний элемент): имя, [версия, требуется, максимальная версия, имя семейства, платформа, бит]

Обязательно, за исключением случаев, когда указано имя семьи. Название продукта Adobe, тип данных VARCHAR2 с ограничением в 64 символа. Один из:

Illustrator (Illustrator на Mac)

Illustrator32 (32-разрядная версия Illustrator для Windows)

Illustrator64 (64-разрядная версия Illustrator для Windows)

InCopy (InCopy в Mac OS)

InCopy32 (32-разрядная версия InCopy в Windows)

InCopy64 (64-разрядная версия InCopy в Windows)

InDesign (InDesign в Mac OS)

InDesign32 (32-разрядная версия InDesign в Windows)

InDesign64 (64-разрядная версия InDesign в Windows)

Photoshop (Photoshop на Mac)

Photoshop32 (32-разрядная версия Photoshop для Windows)

Photoshop64 (64-разрядная версия Photoshop для Windows)

Минимальный номер версии продукта, в котором может быть установлено это расширение. Допустимые номера версий:

< /tr> < td>12
< tr> < td>13
< td>Premiere Pro CS6< td>Premiere Pro CC 2014< td>Prelude CC < /таблица>

Необязательно. Значение true, если этот продукт необходим для правильной работы расширения. Если расширение может работать без этого продукта, это значение должно быть равно false (по умолчанию).

Необязательно. Самая последняя версия этого продукта, в которой может быть установлено это расширение.

Необязательно. Если указано, имя не требуется. Значение «Photoshop» позволяет устанавливать расширение как в Photoshop, так и в 64-разрядной версии Photoshop в Windows. Значение «Illustrator» позволяет установить расширение как в Illustrator, так и в Illustrator (64-разрядная версия) в Windows. Значение «Illustrator» допустимо только в CS6 и более поздних версиях. Значение InDesign допустимо только для CC и более поздних версий, что позволяет устанавливать расширение как в InDesign, так и в InDesign (64-разрядная версия) в Windows. Значение «InCopy» допустимо только для CC и более поздних версий, что позволяет устанавливать расширение как в InCopy, так и в InCopy (64-разрядная версия) в Windows.

Необязательно. Платформа, на которой может быть установлено это расширение, одна из «mac» или «win». Если расширение не указано, оно установлено в этом продукте на обеих платформах.

Необязательно. Версия Win32 или Win64 этого продукта, для которой можно установить это расширение. Один из «32» или «64». Если расширение не указано, оно устанавливается как в Win32-, так и в Win64-версиях продукта.

Содержит или указывает на HTML-текст, описывающий пользовательский интерфейс расширения. Вместе с элементом описания определяет текст, который может отображаться в окне диспетчера расширений при выборе расширения. Вы должны включить информацию о том, где найти элемент в пользовательском интерфейсе продукта, а также краткое описание использования элемента.

Содержимое должно содержать раздел CDATA, который можно отформатировать с помощью тегов HTML. Описание ограничено 512 символами.

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

Предоставляет информацию об обновлении для этого расширения. Если указано, Extension Manager проверяет данный сайт на наличие обновлений и, когда обновление доступно, предлагает пользователю обновить расширение.

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

Имена файлов Windows состоят из двух частей. имя файла, затем точка, за которой следует расширение (суффикс). Расширение представляет собой трех- или четырехбуквенную аббревиатуру, обозначающую тип файла. Например, в письме.docx имя файла буквенное, а расширение docx. Расширения важны, потому что они сообщают вашему компьютеру, какой значок использовать для файла и какое приложение может открыть файл. Например, расширение doc сообщает вашему компьютеру, что файл является файлом Microsoft Word.

Если вы хотите открыть файл MAC OS X в Windows, вам может потребоваться добавить расширение к имени файла MAC OS X, чтобы Windows могла его распознать. Например, если у вас есть документ Word 6 MAC OS X с именем letter, который вы хотите открыть в Windows, вам нужно переименовать файл letter.docx, чтобы Word в Windows распознал и открыл этот файл.

Примечание. Этот список ни в коем случае не является полным и исчерпывающим списком расширений файлов. Если используемое вами расширение файла отсутствует в списке ниже, вы можете найти информацию в руководстве по программному обеспечению или на веб-сайте программного обеспечения.

Примечание. Если ни у одного из ваших имен файлов нет расширений, расширения файлов будут скрыты. См. Отображение расширений файлов

Отображение расширений файлов

Если ни одно из ваших имен файлов не имеет расширений, расширения файлов скрыты. Чтобы показать расширения файлов:

<р>1. В Проводнике откройте вкладку "Вид" и установите флажок рядом с "Расширения имен файлов".

<р>1. Нажмите на меню "Пуск" и введите "Показать скрытые файлы и папки", затем нажмите клавишу ввода или выберите этот параметр в списке результатов.

Поиск расширений файлов

Иногда может потребоваться выполнить поиск всех файлов определенного типа. Например, вы можете найти файл .pst или файл .mp3 на своем компьютере. Выполните следующие действия, чтобы найти расширение файла.

<р>1. Щелкните меню «Пуск» или строку поиска и введите «*», а затем расширение файла, который вы хотите найти (например, *.jpg), и нажмите клавишу «Ввод».

Следующие комментарии принадлежат тем, кто их разместил. Этот сайт не несет ответственности за то, что они говорят.

Если вас смущает странное название, "grep" — это аббревиатура от "общая
программа с регулярными выражениями". Если это не помогает, возможно, вам интересно, что такое
регулярное выражение ("re" или "regex"). По сути, это шаблон, используемый для описания
последовательности символов, и если вы хотите знать о них ааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааак! -издатель O'Reilly & Associates.

Регулярные выражения (regices, regexen, . множественное число является предметом споров) являются чрезвычайно
полезным инструментом для любого вида обработки текста. Поиск шаблонов с помощью grep — это
первое знакомство большинства людей с ними, поскольку, как говорится в статье, вы можете использовать их для поиска
буквального шаблона в любом количестве текстовых файлов. на твоем компьютере. Самое интересное, что
это не обязательно должен быть буквальный шаблон, но он может быть настолько сложным, насколько вам хочется.

Ключом к этому является понимание того, что некоторые символы являются "метасимволами", которые имеют
специальное значение для программы, использующей регулярные выражения. Например, знак плюса (+) сообщает программе
, что нужно сопоставить один или несколько экземпляров того, что непосредственно предшествует ему, а круглые скобки
служат для того, чтобы рассматривать все, что содержится, как единое целое. Таким образом, «ха+» соответствует «ха», но также соответствует
«хаа» и «хааааааааааа», но не «хахаха». Если вы хотите сопоставить слово "ха", вы можете использовать
'(ха)+' для соответствия одному или нескольким его экземплярам, ​​например "хахаха" и "хахахахахахахахаха".
Использование вертикальной черты обеспечивает альтернативное соответствие, поэтому "(ха|хо)+" соответствует "хохохо", "хахаха" и
"хахохахахахахаха". и т. д.

Существует множество таких метасимволов, о которых следует помнить. Внутри скобок ([]) карат (^)
означает, что вы не хотите сопоставить все, что следует внутри скобок. Для поклонников Магритта
'[^(сигара)]' соответствует любому тексту, который не является "сигарой". В остальное время карат сообщает программе, что
сопоставление должно быть только в начале строки, а знак доллара ($) — только в
конце. Таким образом, '^everything$' соответствует слову "все" только тогда, когда оно находится в строке
само по себе, а '^[^(что-нибудь еще)]' соответствует всем строкам, которые не начинаются со слова "все остальное" .

Точка (.) соответствует любому символу, а звездочка (*) соответствует ноль или более раз.
Сравните это с плюсом, который соответствует один или больше раз — тонкое, но важное
различие. Многие регулярные выражения ищут ".*", что равно нулю или больше чего-либо
(то есть вообще чего угодно).Это полезно при поиске двух вещей, которые могут
не иметь между собой ничего другого (что вас, вероятно, не волнует): 'foo.*bar' будет соответствовать
на 'foobar', «фу бар» и «фу бу а воп боп лоп бам бу бар». Замена предыдущего примера
на плюс, 'foo.+bar', требует, чтобы что-нибудь -- стояло между foo и bar, но не имеет значения,
что, поэтому 'foobar' не соответствует но два других приведенных примера совпадают.

Подробности см. на справочных страницах -- "man grep". Существует множество различных версий
программы, поэтому детали могут различаться. Однако все это должно быть допустимо для OSX.

Смущает? Может быть, но регулярные выражения не так уж и плохи, когда к ним привыкаешь, и
они могут быть очень полезным инструментом, чтобы воспользоваться им, если ты знаешь, что делаешь. Пример.

Допустим, у вас есть веб-сайт, хранящийся на вашем компьютере в виде набора HTML-документов.
Как передовой разработчик, вы увидели свет CSS и хотите удалить все теги
везде, где они просто говорят, например. face="sans-serif" &/or size="12", потому что
таблица стилей теперь может сделать это за вас. С другой стороны, шаблоны
'face="sans-serif"' или 'size="12"' могут отображаться в обычном тексте (хотя
это маловероятно). На самом деле, вам действительно нужно знать, где эти шаблоны появляются
в теге шрифта, но вас не волнует, где еще они могут появиться. Вот один из способов
найти эту закономерность:

Это делает несколько вещей. Параметр -i указывает grep игнорировать регистр (в противном случае он чувствителен к регистру,
и не будет соответствовать 'FONT', если вы ищете 'шрифт' или 'Шрифт'). Параметр -r указывает ему рекурсивно
спуститься по каталогам, откуда начинается команда — в данном случае ко всем htm- и ​​
html-файлам в текущем каталоге. Все, что заключено в одинарные кавычки, — это шаблон, с которым мы сопоставляемся.
Мы указываем grep сопоставлять любой текст, начинающийся с " (таким образом, оставаясь в пределах тега шрифта), а затем определение шрифта или
размера, которое нас интересует. Единственный сбой здесь заключается в том, что разрывы строк могут сломать
вещи, хотя есть разные способы обойти это. Их поиск остается пресловутым
упражнением для читателя. :)

Следующий вопрос: что вы хотите делать с полученной информацией?
Предположительно, вы хотите отредактировать эти файлы, чтобы исправить их, верно? Имея это в виду, возможно,
было бы полезно просто составить список совпадений. Grep обычно выводит все строки,
соответствующие шаблону, но если вам нужны только имена файлов, используйте ключ -l. Если вы хотите сохранить
результаты в файл, соответствующим образом перенаправьте вывод команды. Благодаря этим изменениям
у нас теперь есть:

Отлично. Но мы можем сделать еще лучше. Если вам удобно работать с редактором vi, вы можете напрямую вызывать vi с помощью этой команды. Хитрость заключается в том, чтобы заключить команду в обратные кавычки (`). Это крутой
небольшой трюк Unix, который запускает содержащуюся в нем команду и возвращает результат для всего, что вы хотите
с ней сделать. Таким образом, вы можете просто поставить эту команду:

Результат этой команды для вашей оболочки tcsh примерно такой:

и т. д. Прелесть здесь в том, что если вы закроете vi и повторно запустите команду позже, она
сможет эффективно "продолжить с того места, где остановилась", поскольку файлы, которые вы уже редактировали,
предположительно будут
отредактированы. больше не соответствует команде grep.

А если вы хотите добиться по-настоящему амбициозности, вы можете использовать эти методы таким образом, чтобы
позволить вам выполнять все ваши действия непосредственно из командной строки, без необходимости заходить в
интерактивный редактор, такой как vi или emacs или любой другой. Если вы продвинулись в своих экспериментах так далеко,
то следующим шагом будет научиться фильтровать результаты сопоставления и каким-то образом обрабатывать отфильтрованные данные
с помощью таких инструментов, как sed, awk и перл. Используя эти инструменты, вы можете найти все
экземпляры рассматриваемого шаблона, разбить его на части, заменить или перетасовать
части по своему усмотрению, а затем собрать все заново. Это забавная штука! К этому моменту вы достаточно глубоко погружаетесь в Unix arcana, и лучшая книга,
которую я видел об этих хитростях, — это O'Reilly's Unix Power Tools, написанная разными авторами. Если вы действительно хотите использовать
мощь инструментов, поставляемых со всеми Unix-системами, включая OSX, то это отличное место, чтобы
как начать, так и закончить. Там много материала, чтобы занять вас на месяцы и годы.

Есть ли команда для вывода списка содержимого данного каталога, включая содержимое подкаталогов?

Я пытаюсь ответить программисту — я им не являюсь — чтобы помочь понять, почему что-то не работает.

И мой запястный канал слишком плох, чтобы перепечатать все имена файлов, которые я вижу (вздох).

Я хочу подсчитать общее количество файлов в определенном каталоге, оканчивающемся на ".расширение mp4".

Я получаю следующую команду:

Он подсчитывает все файлы в определенном каталоге, но мне нужно подсчитать файлы, которые заканчиваются расширением .mp4.

Есть ли для этого какая-либо команда Ubuntu?

Простой, правильный и прямой ответ — это ответ @louis-matthijssen. ls -1 обработка символов новой строки делает в этом случае разумным анализ вывода ls. Отмеченный неверен для использования флага -R.

10 ответов 10

К сожалению, эту несерьезную проблему трудно решить способом, поддерживающим все имена файлов и переносимым. Это безопасно (обрабатывает скрытые файлы, пути, содержащие пробелы, дефисы и даже новые строки) и совместимо с POSIX:

Если вы не хотите, чтобы он был рекурсивным, просто добавьте -maxdepth 1 .

Или другие предложения:

Хотя этот ответ правильный и надежный, вы можете использовать -printf x вместо -exec printf x \; . То есть: find /path/to/directory -mindepth 1 -type f -name "*.mp4" -printf x | wc -c Нет необходимости выполнять -exec внешнюю команду printf, которая при наличии большого количества файлов будет очень медленной, потому что find должна создать fork(2) свою копию, а затем выполнить execve(2 ) /usr/bin/printf . С -exec printf x \; , это необходимо сделать один раз для каждого файла.

Найти BSD содержит -mindepth и -maxdepth, но не содержит -printf, поэтому я ценю включение обоих.

Здесь вы можете сделать это

Это дает вам возможность считать

Почему -R? Зачем делать полную статистику, когда вам просто нужно имя файла? Почему бы не ls -1 *.jpg| туалет -л ? (хорошо, не работает, если у вас есть имена файлов с символами новой строки. В этом случае вы это заслужили ;-) . )

<р>. и вопрос был «подсчет количества файлов в каталоге». Более того, это будет рекурсивно перечислять все содержимое подкаталогов, имя которых заканчивается на .jpg, а не файлы в подкаталогах, оканчивающихся на .jpg . Вы когда-нибудь проверяли это?

В вопросе указано "файлы в определенном каталоге", что означает, что рекурсия в подкаталоге нежелательна.

Это также не работает, если в каталоге слишком много файлов (поскольку *.jpg расширяется оболочкой, а не ls ) и если есть файлы, имена которых начинаются с дефисов.

@DavidRicherby Пропускаются имена, начинающиеся с . . Но на самом деле это нормально работает с дефисами в именах, за исключением случаев, когда /path/to/dir является пустой строкой или относительным путем, начинающимся с дефиса. Но раньше я ошибался, говоря, что ls заменяет символы на ? . Это происходит, когда stdout является терминалом, но здесь вывод представляет собой канал, поэтому ls отправляет все символы из имен файлов в wc. Это делает этот ответ неверным без флага -q или -b для изменения этого поведения, потому что имена файлов могут содержать символы новой строки. Ответ l0b0 свободен от этих проблем.

Читайте также:

Dreamweaver MX 2004, Fireworks MX 2004, Flash MX 2004
7
Dreamweaver 8, Fireworks 8, Flash 8
8
Dreamweaver CS3, Fireworks CS3, Flash Professional CS3
9
Dreamweaver CS4, Fireworks CS4, Flash Professional CS4
10
Dreamweaver CS5, Fireworks CS5, Flash Professional CS5
11
Fireworks CS5.1
11.1
Dreamweaver CS5.5, Flash Professional CS5.5
11.5
Dreamweaver CS6, Fireworks CS6, Flash CS6
Dreamweaver CC, Flash Professional CC 13
Dreamweaver CC 2014, Flash Professional CC 2014 14
Illustrator CS4
14
Иллюстратор CS5
15
Illustrator CS5.1
15.1
Illustrator CS6
16
Illustrator CC
17
Illustrator CC 2014 18
InDesign CS4, InCopy CS4
6
InDesign CS5, InCopy CS5
7
InDesign CS5.5, InCopy CS5.5
7.5
InDesign CS6, InCopy CS6
8
InDesign CC, InCopy CC 9
InDesign CC 2014, InCopy CC 2014 10
Photoshop CS4
11
Photoshop CS5
12
Photoshop CS5.1
12.1
Photoshop CS6
Photoshop CC 14
Photoshop CC 2014 15
Премиум до Pro CS5 5
Premiere Pro CS5.5 5.5
6
Premiere Pro CC 7
8
Prelude CS6 1
2
Prelude CC 2014 3