Найдите файлы с определенными расширениями

Ubuntu также значения по умолчанию к голодной ЦП усладе для глаз (курсоры с анимацией и т.п.).

67
16.12.2013, 20:33
2 ответа

Почему не просто используют это:

find -name "*.xls" -o -name "*.csv"

Вам не нужен regex для этого.

Если Вы абсолютно хотите использовать regex, просто используют

find -regex ".*\.\(xls\|csv\)"
115
27.01.2020, 19:31
  • 1
    Лучший ответ, чем мой. +1. –  Paul Tomblin 09.12.2008, 18:04
  • 2
    Почему обратная косая черта необходима перед круглой скобкой? Я знаю, что это не работает без него, но кажется, что это должно. –   09.12.2008, 18:05
  • 3
    , потому что они - emacs регулярные выражения по умолчанию. используйте-regextype для изменения этого. –   09.12.2008, 18:15
  • 4
    Только для справки: Я никогда не могу remeber, который инструменты хотят "\(" для группировки и которые хотят" (". Я всегда должен пробовать его для знания его. –  Joachim Sauer 09.12.2008, 18:49
  • 5
    regex не работает –  hostmaster 08.07.2015, 18:10
find . \( -name  \*.xls -o -name \*.csv \) -print
12
27.01.2020, 19:31
  • 1
    Не знал о-o опции.Спасибо! –   09.12.2008, 18:02
  • 2
    Этому нужны круглые скобки? найдите'. (' - называют *.xls-o - называют *.csv'), '-печать –   09.12.2008, 23:48
  • 3
    @Adrian - нет, это не делает. Я не уверен, был ли этому нужен parens на не-GNU, находят, где "-печать" уже не была действием по умолчанию. –  Paul Tomblin 10.12.2008, 15:09
  • 4
    Ну, GNU находят (значение по умолчанию на человечности 11.04) работы правильно и с parens и с - печатью ИЛИ без (parens и - печать). Но find . -name \*.xls -o -name \*.csv -print выводы только регистрируют соответствующий .csv, –  bbaja42 02.01.2012, 16:20
  • 5
    Вы правы, мне нужен parens. –  Paul Tomblin 02.01.2012, 17:02

Теги

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