Как найти повторяющиеся строки в нескольких файлах внутри папок

Синтаксис \>означает совпадение в конце слова . То, что вы хотите, вероятно,

ls | egrep "^[A-Z.]+$"

, где ^соответствует началу строки, а $соответствует концу строки.

0
16.06.2021, 20:01
1 ответ

Вы можете сделать это (, если в именах файлов нет символа табуляции):

grep -T -r. mainfolder | sort -k 2 | uniq -D -f 1

Рекурсивный grepбудет выводить каждую строку с префиксом имени файла, в котором она находится. Затем вы сортируете по всем полям, кроме первого. Наконец, uniqвыводит только повторяющиеся строки, пропуская первое поле.

Вы можете иметь больший контроль над файлами, которые попадают в сортировку, используя, например, findили флаги --includeи --excludegrep.

3
28.07.2021, 11:24

Теги

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