Назад | Перейти на главную страницу

grep, чтобы найти файлы, содержащие строку длиной более x символов?

Можно ли найти файлы в каталоге со строками (без пробелов) длиннее x?

Я считаю себя новичком в регулярных выражениях, но я создал кучу файлов со строками переменной длины в них, и я думаю, что получил то, что вы хотели, попробуйте следующее:

user@host$ grep -e '[^\ ]\{7,\}' *


Для тех, кто этого не совсем понимает:

-e выполняет поиск grep с использованием регулярного выражения. [^\ ] означает соответствие одному символу, кроме пробела. \{7,\} означает соответствие строке из 7 или более символов. Если бы вы поставили другое число, это были бы строки от 7 до x символов.

Мне не удалось заставить приведенный выше пример работать. Я искал строки в CSV-файле длиной более 10000 символов. Я немного напортачил и получил вот это ... Найдите строки длиной более 9999 символов ...

grep -a -e '[^\ ]\{9999,\}' *.csv >../my-file.csv

И это то, что мне действительно было нужно. Строки в файле CSV менее 10000 символов. найти строки менее 9999 символов

grep -a -v -e '[^\ ]\{9999,\}' *.csv >../my-file.csv