Скажите, что у меня есть список следующих файлов в моем текущем dir:
lab1.jav
mytst2
pie.c
prog2.c
tst3.ex
tst5:5.tlab2jav
lab2jav.ext
new.c
prog1.c
tst1
tst4.ex
c tst6:6123.tA7-tst.c
fred.txt
И я должен перечислить файлы с, в общей сложности говорят 7 букв, например. Как Вы сделали бы это? Я попробовал напрасно:
ls | egrep -i '[a-z]{7}'
Я думаю, что это - потому что точки находятся в пути, есть ли простой способ сделать это?
Это может быть сделано этот путь:
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]*