найдите, что весь файл заголовков начинается с гласных в/usr/include

Я должен найти все заголовки от /usr/include это начинается с гласных (a, e, я, o, u)

Пример:

acpi.h 
aclinux.h
ah.h 
...

Я не знаю, как сделать это, я попробовал что-то grep, но я не составлял его.

-6
задан 13 January 2015 в 13:21

3 ответа

Версия GNU find поддержки основные шарики имени файла как часть -name шаблон, включая [...] конструкция набора символов. Таким образом, кажется, что можно просто сделать

find /usr/include -name '[aeiou]*\.h'

или

find /usr/include -iname '[aeiou]*\.h'

, если Вы хотите соответствовать нечувствительно к регистру.

3
ответ дан 6 October 2019 в 04:44

Это также полезно. Используйте простой 'grep' с помощью регулярного выражения..

ls /usr/include/ | grep '^[aeiou].*\.h 

Для регулярных выражений, данных с 'grep' (т.е. значение '^[aeiou].*\.h), посмотрите следующую ссылку Регулярное выражение

), посмотрите следующую ссылку Регулярное выражение

Для регулярных выражений, данных с 'grep' (т.е. значение '^[aeiou].*\.h), посмотрите следующую ссылку Регулярное выражение

), посмотрите следующую ссылку Регулярное выражение

2
ответ дан 6 October 2019 в 04:44

Существует простой путь при помощи ls команда:

ls /usr/include/[aeiou]*\.h

Но также и можно использовать find команда с regex:

find /usr/include -type f -regextype "posix-extended" -iregex '^\.\/(a|e|i|o|u).*\.h$'
-regex pattern
    File  name matches regular expression pattern.  This is a match on the whole path, not a search.  For
    example, to match a file named './fubar3', you can use the regular expression '\.\/fub.*'  or '.*b.*3' or '.*bar.',
    but not 'f.*r3'. The regular expressions understood by find are by default Emacs Regular Expres‐
    sions, but this can be changed with the -regextype option.

-iregex pattern
    Like -regex, but the match is case insensitive.

-regextype type
    Changes the regular expression syntax understood by -regex and -iregex tests which occur later on the
    command line. Currently-implemented types are emacs (this is the default), posix-awk, posix-basic,
    posix-egrep and posix-extended.

^\.\/(a|e|i|o|u).*\.h$

enter image description here

Объяснение:

  • ^ привязка для запуска имени файла (или лучше запустите путь файла),
  • \.\/ соответствия только ./ (единственная точка, сопровождаемая наклонной чертой)
  • (a|e|i|o|u) группа соответствия. будет соответствовать одному из a или (|) e, i, o или u с начала имени файла после сначала ./
  • .* соответствия любой символ после слов гласных
  • \. соответствия единственный точечный символ, и
  • h$ символ соответствий h в конце имени файла ( $ привязка для конца имени файла),
9
ответ дан 6 October 2019 в 04:44

Другие вопросы по тегам:

Похожие вопросы: