Почему заглавные буквы включены в ряд строчных букв в регулярном выражении awk?

$ echo ABC | awk '$0 ~ /^[ab]/' ABC $ echo ABC | awk '$0 ~ /^[aa]/' $ echo ABC | awk '$0 ~ /^a/' $ 

Ты видишь. /[ab]/ фиксирует A , но /[aa]/ или /a/ нет. Зачем?

One Solution collect form web for “Почему заглавные буквы включены в ряд строчных букв в регулярном выражении awk?”

Я думаю, это проблема «локали».

В моей локали, it_IT, следующий фрагмент

 if [[ a < A ]]; then echo "a < A" elif [[ a > A ]]; then echo "a > A" else echo "a = A" fi if [[ b < A ]]; then echo "b < A" elif [[ b > A ]]; then echo "b > A" else echo "b = A" fi 

шоу

 a < A b > A 

так что A (удивительно) между a и b , поэтому в диапазоне.

Попробуйте выполнить

 echo ABC | LC_COLLATE=C awk '$0 ~ /^[ab]/' 

редактировать

следующая команда показывает порядок сортировки в вашей локали:

  echo $(LC_COLLATE=C printf '%s\n' {A..z} | sort) 

вывод на моей машине

  ` ^ _ [ ] a A b B c C d D e E f F g G h H i I j J k K l L m M n N o O p P q Q r R s S t T u U v V w W x X y Y z Z 

(не может понять из справочной страницы bash, если выражения последовательности разворачиваются в порядке упорядочения локали или нет, это не так).

  • Остановить обработку одной строки в awk после успешного совпадения?
  • awk отдельные столбцы из 3
  • Как найти номер строки в файле с разделителями, который имеет <20 символов?
  • Использование sed для замены кода javascript в нескольких файлах
  • Копирование слов из строк и добавление к строкам в другом файле
  • Сортировка IP-адреса в соответствии со вторым полем в файле
  • Разница между $ 1, $ {1} и $ "1" в awk
  • найдите минимальное и максимальное значение в двух столбцах
  • Инструмент командной строки для извлечения строк из текстового файла
  • Как запустить скрипт оболочки, содержащий команду awk
  • Функция добавления двух чисел в awk
  • Interesting Posts

    Невозможно выполнить apt-get из-за зависимостей

    Не удается получить меню grub2 для отображения

    Проблемы с Ralink RT-3290 на Debian: работает, когда он хочет

    Какие команды или операции можно использовать для установки процессора под интенсивную нагрузку?

    Как изменить стиль аналоговых часов в XFce?

    Как начинать бормотать как xsession?

    ls в каталоге, игнорирующем символические ссылки

    Чтение списка пакетов … Готово

    запретить XFCE отображать настройки дисплея на крышке ноутбука закрыть / открыть

    Что означает выход 99?

    HTML-адрес электронной почты из почтового ящика mailx на linux

    Использование файла конфигурации ядра Linux с версии на версию

    как «несколько узлов файлов» могут быть связаны с одним индексом?

    Является ли команда whois безопасной для конфиденциальности?

    Как получить завершение вкладки bash для работы с файловой системой только для чтения?

    Linux и Unix - лучшая ОС в мире.