Найти большие строки в файлах и показать файлы - PullRequest
1 голос
/ 26 марта 2020

Я хотел бы найти большие строки в каталоге файлов и сообщить о них:

 awk 'length>50' /home/* -exec ls -l {} ';'

Заранее спасибо

Ответы [ 2 ]

3 голосов
/ 26 марта 2020

Для этого вам нужно find, например:

find . -type f -exec grep -Eq '.{50}' {} \; \
               -exec ls -l {} +

В GNU найти -exec ls -l {} + можно заменить просто -ls.

И если длинный вывод не требуется (требуется GNU grep):

grep -Erl '.{50}' .
2 голосов
/ 26 марта 2020

Если имена ваших файлов не содержат пробелов, тогда с помощью инструментов POSIX:

grep -El '.{50}' /home/* | xargs ls -l

в противном случае с инструментами GNU:

grep -ElZ '.{50}' /home/* | xargs -0 ls -l
...