Синтаксис \>
означает совпадение в конце слова . То, что вы хотите, вероятно,
ls | egrep "^[A-Z.]+$"
, где ^
соответствует началу строки, а $
соответствует концу строки.
Вы можете сделать это (, если в именах файлов нет символа табуляции):
grep -T -r. mainfolder | sort -k 2 | uniq -D -f 1
Рекурсивный grep
будет выводить каждую строку с префиксом имени файла, в котором она находится. Затем вы сортируете по всем полям, кроме первого. Наконец, uniq
выводит только повторяющиеся строки, пропуская первое поле.
Вы можете иметь больший контроль над файлами, которые попадают в сортировку, используя, например, find
или флаги --include
и --exclude
grep
.