NBash
1Например вывести все регулярные файлы не начинающиеся с точки
2и не заканчивающиеся знаком тильда в каталоге в котором выполняется поиск.
3BashВыделить код
41
5find . -maxdepth 1 -type f -regex '^./[^.].*[^~]$'
6Типы регулярок можно выбирать командой -regextype
7А вот тоже самое в конвеере:
8BashВыделить код
91
10find . -maxdepth 1 -type f -printf "%f\n" | egrep '^[^.].*[^~]$'
110
12Sergeyygra
130 / 0 / 0
14Регистрация: 10.09.2012
15Сообщений: 82
1623.05.2016, 11:45 [ТС] 3
17Если по заданию то так получается?
18
19BashВыделить код
20
21find . /(-not -name "a" -o -not -name "a*a"/) -print
22
23
24
25find -regex '.*/[^a]*.*[^a]$' -type f -exec cat {} \;
260
27Sergeyygra
280 / 0 / 0
29Регистрация: 10.09.2012
30Сообщений: 82
3123.05.2016, 14:21 [ТС] 5
32А если например файл будет односимвольный? Ну например иметь в имени всего лишь одну букву ту же "а" к примеру, как тогда вывести правильно?
33
34Добавлено через 42 секунды
35А как мне проверить эту команду лучше? Создать несколько файлов с именами и ввести команду так лучше да?
36
37Добавлено через 1 минуту
38Или сначала каталог создать и там создать несколько любых файлов, можно для примера что -то продемонстрировать?
390
40Marinero
41Эксперт NIX
422794 / 2037 / 682
43Регистрация: 02.03.2015
44Сообщений: 6,509
4523.05.2016, 21:17 6
46BashВыделить код
471
48find <dir> ! -name 'a*a' ! -name 'a'
49