Как перечислить имена файлов с в общей сложности X буквами

Скажите, что у меня есть список следующих файлов в моем текущем dir:

lab1.jav mytst2 pie.c prog2.c tst3.ex tst5:5.tlab2jav lab2jav.ext new.c prog1.c tst1 tst4.exc tst6:6123.tA7-tst.c fred.txt

И я должен перечислить файлы с, в общей сложности говорят 7 букв, например. Как Вы сделали бы это? Я попробовал напрасно:

ls | egrep -i '[a-z]{7}'

Я думаю, что это - потому что точки находятся в пути, есть ли простой способ сделать это?

0
задан 22 February 2016 в 01:20

1 ответ

Это может быть сделано этот путь:

ls | grep -E '^(\W*[0-9]*[a-zA-Z]){7}\W*[0-9]* 

Это включает случаи, когда первой и последним знаком является цифра или не алфавитно-цифровой символ.

Или короче

ls | grep -Ei '^([^a-z]*[a-z]){7}[^a-z]*

Это включает случаи, когда первой и последним знаком является цифра или не алфавитно-цифровой символ.

Или короче

ls | grep -Ei '^([^a-z]*[a-z]){7}[^a-z]*
1
ответ дан 24 July 2019 в 10:38

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

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