Как заменить вопросительный знак в имени файла

Обновлено: 06.07.2024

Символ вопроса

Используйте ? для создания имен файлов, которые iMIS последовательно увеличиваются при каждом экспорте. Это значение хранится в Counter.LAST_VALUE для Counter_name='GL Interface' и будет увеличиваться бесконечно.

Например, glint?.txt создает glint1.txt, glint2.txt и т. д.

Знак числа

Новые данные не добавляются в файл NFPglint.txt каждый раз, когда вы экспортируете данные для этого объекта. Файл NFPglint.txt будет перезаписан, если вы не включите параметр «Не разрешать перезапись файлов» в окне интерфейса Главной книги.

Эти специальные символы можно комбинировать в одном имени файла.

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

Чтобы настроить интерфейс GL

Примечание. Эти варианты применимы только в том случае, если вы приобрели лицензию на интерфейс iMIS Financial Systems или интерфейс AP.

Окно AR/Cash General Ledger Interface позволяет настраивать интерфейсы iMIS GL и AP, для которых требуется лицензия.

  1. В AR/Cash выберите «Настроить модуль» и нажмите «Интерфейс ГК», чтобы открыть окно интерфейса AR/Cash Главной книги.
  2. Нажмите "Изменить".
  3. Выберите пакет бухгалтерского учета главной книги в раскрывающемся списке Тип интерфейса GL.
  4. Выберите уровень детализации транзакции в раскрывающемся списке Суммировать по.
  5. Введите путь к файлу и имя файла.
  6. Включите параметры возврата через интерфейс точки доступа, отправки отдельных возвратов в компанию и запрета перезаписи файлов, если это необходимо.
  7. Нажмите "Сохранить".

Чтобы создать отдельные файлы интерфейса GL

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

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

Таблица 13.11. Метасимволы оболочки и подстановка имен файлов

Соответствует нулю или более символов

Соответствует ровно одному символу

Соответствует одному символу из набора a , b или c

Соответствует одному символу, не входящему в набор, а не a , b или c

Соответствует символу или набору символов

Соответствует одному символу в диапазоне от a до z

Соответствует одному символу, не входящему в диапазон от a до z

Скрывает или отключает метасимвол

13.9.1 Звездочка

Звездочка – это подстановочный знак, который соответствует нулю или более любых символов в имени файла.

Пример 13.41.

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

Все файлы, начинающиеся с нуля или более символов и заканчивающиеся на .bak, сопоставляются и перечисляются.

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

13.9.2 Знак вопроса

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

Пример 13.42.

Отображаются файлы в текущем каталоге.

Имена файлов, начинающиеся с , за которым следует один символ, за которым следует c и один символ, сопоставляются и перечисляются.

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

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

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

13.9.3 Квадратные скобки

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

Пример 13.43.

Отображаются все файлы в текущем рабочем каталоге.

Все имена файлов, содержащие четыре символа, сопоставляются и перечисляются, если имя файла начинается с abc , за которым следует 1 , 2 или 3 .Совпадает только один символ из набора в скобках.

Все имена файлов, содержащие четыре символа, сопоставляются и перечисляются, если имя файла начинается с abc и за ним следует число в диапазоне от 1 до 3 .

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

Перечисляются все имена файлов, содержащие четыре символа, если первый символ не является буквой между f и z ([!f�z] , за которой следуют три любых символа, где ? представляет один символ.

Файлы отображаются в списке, если имена файлов содержат abc12, за которым следует цифра 2 или 3 .

13.9.4 Расширение скобок

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

Пример 13.44.

Отображаются все файлы в текущем каталоге.

Перечисляются файлы, начинающиеся с f, за которыми следуют строки oo , aa или umble . Пробелы внутри фигурных скобок вызовут сообщение об ошибке Missing > .

Перечисляются файлы, начинающиеся с .c , c или b3 , b4 или b5 . (Квадратные скобки можно использовать внутри фигурных скобок.)

В /usr/local/src/bash будут созданы четыре новых каталога: old, new, dist и bugs.

Корневое владение будет предоставлено файлам ex и edit в каталоге /usr/ucb и файлам с именем ex, за которым следует один символ, точка и еще как минимум один символ, а также файлу с именем how_ex в каталоге /usr /библиотека .

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

Расширение фигурных скобок не всегда приводит к расширению имен файлов. В этом примере постамбула добавляется к каждой строке в фигурных скобках и возвращается обратно после раскрытия.

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

13.9.5 Экранирование метасимволов

Чтобы использовать метасимвол в качестве буквального символа, используйте обратную косую черту, чтобы предотвратить интерпретацию метасимвола.

Пример 13.45.

Перечисляются файлы в текущем рабочем каталоге. (Обратите внимание на файл youx .)

Оболочка выполнит расширение имени файла с расширением ? . Любые файлы в текущем каталоге, начинающиеся с y-o-u и заканчивающиеся ровно одним символом, сопоставляются и заменяются в строке. Имя файла youx будет заменено в строке на How are youx (вероятно, не то, что вы хотели).

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

Перед новой строкой ставится обратная косая черта. Вторичная подсказка отображается до тех пор, пока строка не будет завершена символом новой строки. Знак вопроса ( ? ) экранирован, чтобы защитить его от расширения имени файла.

13.9.6 Расширение тильды и дефиса

Символ тильды был принят оболочкой bash (из оболочки C) для расширения имени пути. Тильда сама по себе соответствует полному пути к домашнему каталогу пользователя. [7] Когда к имени пользователя добавляется тильда, оно заменяется на полный путь этого пользователя.

[7] Символ тильды не будет расширен, если он заключен в двойные или одинарные кавычки.

Когда за тильдой следует знак плюс, значение PWD (текущий рабочий каталог) заменяет тильду. Тильда, за которой следует символ дефиса, заменяется предыдущим рабочим каталогом; OLDPWD также относится к предыдущему рабочему каталогу.

Пример 13.46.

Тильда соответствует полному пути к домашнему каталогу пользователя.

Тильда перед именем пользователя соответствует полному пути к домашнему каталогу joe.

Обозначение ~+ соответствует полному пути к рабочему каталогу.

Обозначение ~� соответствует предыдущему рабочему каталогу.

Переменная OLDPWD содержит предыдущий рабочий каталог.

Дефис указывает на предыдущий рабочий каталог; cd, чтобы перейти в предыдущий рабочий каталог и отобразить каталог.

13.9.7 Управление подстановочными знаками (подстановка)

Если установлена ​​переменная bash noglob или если команде set задана опция `f, подстановка имени файла, называемая подстановкой, отключается, что означает, что все метасимволы представляют сами себя; они не используются в качестве подстановочных знаков. Это может быть полезно при поиске шаблонов, содержащих метасимволы, в таких программах, как grep, sed или awk. Если подстановка не настроена, все метасимволы должны быть экранированы обратной косой чертой, чтобы отключить интерпретацию подстановочных знаков.

Встроенная команда shopt (bash версии 2.x) также поддерживает параметры для управления подстановкой.

Пример 13.47.

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

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

Если параметр noglob не задан или установлен параметр +f, метасимволы имени файла будут расширены.

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

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

13.9.8 Расширенное подстановочное имя файла (bash 2.x)

Bash 2.x, основанный на сопоставлении шаблонов оболочки Korn, включает эту расширенную функциональность, позволяющую использовать синтаксис типа регулярного выражения (см. Таблицу 13.12). Операторы регулярных выражений не распознаются, если не включена опция extglob для команды shopt:

Пример 13.48.
Таблица 13.12. Расширенное сопоставление шаблонов
<р>? соответствует нулю или одному вхождению любого шаблона в скобках. Вертикальная черта представляет условие ИЛИ; например, 2 или 9 . Соответствует abc21 , abc91 или abc1 .

* соответствует нулю или более вхождениям любого шаблона в круглых скобках. Соответствует букве abc, за которой следует ноль или более цифр; например, abc , abc1234 , abc3 , abc2 и т. д.

+ соответствует одному или нескольким вхождениям любого шаблона в скобках. Соответствует букве abc, за которой следует одна или несколько цифр; например, abc3 , abc123 и т. д.

@ соответствует ровно одному вхождению любого шаблона в круглых скобках. Не соответствует ни одному, ни одному .

<р>! соответствует всем строкам, кроме тех, которые соответствуют любому из шаблонов в скобках. Соответствует no , none или noone , но не ничего или нигде .

Встроенная функция shopt используется для установки параметра extglob (расширенное подстановочное значение), позволяющего bash распознавать расширенные символы сопоставления с образцом.

Отображаются все файлы в текущем рабочем каталоге.

Соответствует именам файлов, начинающимся с abc, за которыми следует ноль символов или один из шаблонов в круглых скобках. Соответствует abc , abc1 или abc2 .

Соответствует именам файлов, начинающимся с abc, за которыми следует ноль или более цифр от 1 до 5 . Соответствует abc , abc1 , abc122 , abc123 и abc2 .

Соответствует именам файлов, начинающимся с abc, за которыми следует одна или несколько цифр от 0 до 5 . Соответствует abc1 , abc122 , abc123 и abc2 .

Соответствует именам файлов, начинающимся с no и за которым следует вещь или ne . Ничего не соответствует или ничего не соответствует .

Соответствует именам файлов, начинающимся с no и заканчивающимся чем угодно, кроме thing . Совпадений нет, чепуха, никому и нигде. ! означает НЕ.

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