как использовать sed, чтобы извлечь данные из шестнадцатеричного файла - PullRequest
0 голосов
/ 21 мая 2018

Я хочу использовать sed для извлечения данных из шестнадцатеричного файла, но я не хочу выводить какие-либо шестнадцатеричные форматы на экран

Я хочу вытащить любые слова от A до Z или от a до zс минимальной длиной 5 символов и максимальной длиной 25 символов

Есть ли способ сделать это с помощью sed и awk

Ответы [ 2 ]

0 голосов
/ 21 мая 2018

Это может работать для вас (GNU sed):

sed '/\n/!s/\S\+/\n&\n/g;/^[[:alpha:]]\{5,25\}\n/P;D' file

Это разбивает каждую строку на непробельные слова и затем печатает только те слова, которые состоят из 5-25 буквенных символов.

0 голосов
/ 21 мая 2018

Использовать grep:

grep -aoE '([A-Za-z]){5,25}' file
  • -o печатает только совпадающие строки (доступно не во всех версиях grep)
  • -a обрабатывает ввод как четныйесли это не так (иначе grep не будет печатать совпадения)
  • -E использует расширенные регулярные выражения, поэтому синтаксис немного лучше
...