Я ищу простой способ найти длину самой длинной строки в файле. Идеально, это была бы простая команда оболочки удара вместо сценария.
Если Вы используете MacOS и получаете эту ошибку: wc: illegal option -- L
Вы не должны устанавливать GNU, просто делают это.
, Если все Вы хотите сделать, просто получают количество символов в самой длинной строке файла, и Вы используете выполненный OS X:
awk '{print length}' "$file_name" | sort -rn | head -1
Что-то вроде этого;
echo "The longest line in the file $file_name has $(awk '{print length}' "$file_name" | sort -rn | head -1) characters"
Выводы:
The longest line in the file my_file has 117 characters
awk '{print length, $0}' Input_file |sort -nr|head -1
Для справки: Поиск самой длинной строки в файле
awk '{ if (length($0) > max) {max = length($0); maxline = $0} } END { print maxline }' YOURFILE
В perl:
perl -ne 'print ($l = $_) if (length > length($l));' filename | tail -1
выводится только строка, но не ее длина.
Вот ссылки на anwser
cat filename | awk '{print length, $0}'|sort -nr|head -1
Вариант темы.
Здесь будут показаны все строки, имеющие длину самой длинной строки, найденной в файле, с сохранением порядка их появления в исходном тексте .
FILE=myfile grep `tr -c "\n" "." < $FILE | sort | tail -1` $FILE
Итак, myfile
x
mn
xyz
123
abc
даст
xyz
123
abc