Сканирование первых 512 байт на наличие строк с помощью команды gnu strings

206
Roel

Я пытаюсь использовать инструмент GNU strings для чистого способа получить все строки больше чем 5 символов в скомпилированном файле, но только в первых 512 байтах.

strings compiledfile -n 5 

С помощью приведенной выше команды вы сканируете весь файл, но есть ли у кого-нибудь хорошее решение для bash, которое сканирует только первые 512 байт?

Уже большое спасибо.

2

2 ответа на вопрос

2
Nifle

(Непроверенные)

head -c 512 | strings -n 5 
Большое спасибо, я думал об использовании головы, но пока точно не знал. хорошо 1. Roel 6 лет назад 0
0
mtak

Это должно пройти долгий путь:

dd if=compiledfile bs=512 count=1 | strings -n 5 

ddтолько скопирует первые 512 байтов в STDOUT, которые затем могут быть проанализированы strings.

Итак ... Я попробовал это. И это на самом деле не сработало. Прежде всего, в конце вы получаете дополнительную информацию: 1 + 0 записей в 1 + 0 записей из 512 байт (512 B) скопированы, 3.2017e-05 с, 16,0 МБ / с, и после этого конвейер к строкам сделал это не распознавать строки внутри первых байтов только те последние 3 строки. Roel 6 лет назад 0

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