Просмотр очень широких файлов

Вы должны были бы cat это непосредственно к tty/pty устройство они используют. Необходимо было бы также удостовериться, что их терминал делает то же самое, которое Ваш делает с символами; Вы, возможно, должны были бы не упустить tty режим (остерегайтесь расширения новой строки).

3
01.08.2013, 19:11
2 ответа

Если то, что Вы хотите, должно показать определенные столбцы только (скажите, что столбцы 1,5 и 12), использовать awk:

awk '{print $1,$5,$12}' wide_file.txt | less

awk строки разделений в поля автоматически и присваивают их переменным. Первое поле $1, второе $2 и т.д. По умолчанию это разделяет в пробелах, если Вы имеете другой разделитель, вкладка, например, указываете его с -F:

awk -F'\t' '{print $1,$5,$12}' wide_file.txt | less

Я никогда не использовал Солярис, но согласно этой странице, значению по умолчанию awk не мог бы поддерживать -F опция, в этом случае необходимо использовать /usr/bin/nawk или /usr/xpg4/bin/awk.

5
27.01.2020, 21:17
  • 1
    я думаю этот подход, вместе с каналом к less был бы точно, в чем нуждается OP. –  Joseph R. 01.08.2013, 19:40
  • 2
    Проблема, на которую указывают на той странице, является этим awk -F работы с Солярисом awk для отдельных символов, но не для строк. Более новые awks (nawk, xpg4 awk, или на более свежих версиях Соляриса, простофиле GNU) поддерживают больше функций, чем классический awk. –  alanc 02.08.2013, 18:00

Вот два предложения, которые будут оба работать хорошо с большими файлами. (большой с точки зрения размера строки и с точки зрения количества строк, не имеет значения),

Предложение 1:

Можно использовать комбинацию cut и less.

Используя cut можно указать 'столбцы' оба положением байта, а также логическим положением. На самом деле можно даже использовать позицию символа также. (различие между позицией символа ответа положения байта только релевантно, если файл содержит многобайтовые символы).

Позволяет говорят, что Вы хотите просмотреть байты 1200-1270 каждой строки затем, Вы сделали бы:

cut -c1200-1270 wide_file.txt | less

или если бы Вы хотите просмотреть логические столбцы 33-37 затем, Вы сделали бы

cut -f33-37 wide_file.txt | less


Предложение 2:

Можно также использовать less самостоятельно.

Вызвать less с-S опцией, как в

less -S wide_file.txt

Затем можно прокрутить левый или правый в файле путем выполнения n + стрелка вправо или n + стрелка влево, где 'n' является количеством положений для прокрутки.

Позволяет говорят, что Вы хотели прокрутить правильные положения 2000 года. Вы были бы затем тип 2000, и затем нажмите стрелку вправо. Вуаля!

0
27.01.2020, 21:17

Теги

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