Оболочка по умолчанию в любом 5.x-> 6.x версия AIX является ksh.
С версии 6100-04-03-1009 AIX ksh является установленной рабочей версией M-11/16/88f.
Для отображения версии на машине изменитесь на vi-режим:
# set -o vi
Хит Esc, затем Ctrl-v хита.
# Version M-11/16/88f
Как насчет:
ls *[!0-9][0-9].txt
!
в начале группы дополняет ее значение.
Как отмечено в комментариях, это - выполнение удара, попробуйте, например:
printf "%s\n" *[!0-9][0-9].txt
С расширенными глобусами ksh (, bash -O extglob
или zsh -o kshglob
), которые вы уже используете, это будет:
ls -d -- ?(*[![:digit:]])[[:digit:]].txt
Или
ls -d -- !(*[[:digit:]])[[:digit:]].txt
Если вы хотите сопоставитьa1.txt
и 2.txt
, но не a12.txt
и 12.txt
.
Однако обратите внимание, что в ksh и bash (, если вы не установите параметр failglob
для получения поведения, аналогичного zsh ), если этот шаблон не соответствует ни одному файлу, шаблон будет передан буквально в ls
, и если этот (файл со странным именем )существует, он будет указан как ls
, даже если он не соответствует самому шаблону.
Чтобы включить .2.txt
, установите параметр dotglob
в bash
, добавьте квалификатор (D)
glob в zsh
или установите FIGNORE
на !(.|..)
в ksh93
.