Как получить количество байтов в одной строке файла?

Мне интересно, как я могу получить количество байтов только в одной строке файла.

Я знаю, что могу использовать wc -l чтобы получить количество строк в файле, а wc -c – общее количество байтов в файле. Однако я хочу получить количество байтов только в одной строке файла.

Как я смогу это сделать?

3 Solutions collect form web for “Как получить количество байтов в одной строке файла?”

 sed -n 10p myfile | wc -c 

будет считать байты в десятой строке myfile (включая символ linefeed / newline).

Немного менее читаемый вариант,

 sed -n "10{p;q;}" myfile | wc -c 

(или sed '10!d;q' или sed '10q;d' ) перестанут читать файл после десятой строки, что было бы интересно для более длинных файлов (или потоков). (Спасибо Тиму Кеннеди и Питеру Кордесу за обсуждение, ведущее к этому.)

Существуют сопоставления производительности различных способов извлечения строк текста в линии cat X в строку Y в огромном файле .

Попробуй это:

 line=10 tail -n "+$line" myfile | head -n 1 | wc -c 

установите line на номер строки, которую нужно подсчитать.

Немного более простое использование awk :

 awk 'NR==10{print length($0)}' myfile 
  • Как найти файлы с тем же именем, но разные строки в двух каталогах?
  • grep с количеством отдельных паттернов
  • Как подсчитать количество строк в файле UTF-16LE / CR-LF / BOM?
  • Почему «ls | wc -l "показать правильное количество файлов в текущем каталоге?
  • Сколько строк кода в этом файле?
  • Как использовать wc и piping для определения количества файлов и каталогов в определенном каталоге?
  • Как эффективно разделить большой текстовый файл без разделения многострочных записей?
  • Как сделать wc интерпретировать стандарт как список файлов
  • Отправлять случайные данные через TCP на некоторое время и подсчитывать, сколько байтов было отправлено
  • Добавить результат подсчета слов в конец файла
  • jobs / wc: получение странных значений возврата
  • Linux и Unix - лучшая ОС в мире.