如何使用sed从hex文件中提取数据

时间:2018-05-20 21:01:04

标签: sed

我想使用sed从hex文件中提取数据,但我不希望任何十六进制格式输出到屏幕

我想要从A到Z或a到z中提取最少5个字符且最大长度为25个字符的任何单词

有没有办法用sed和awk

来做到这一点

2 个答案:

答案 0 :(得分:1)

使用grep:

grep -aoE '([A-Za-z]){5,25}' file
  • -o仅打印匹配的字符串(在所有版本的grep中不可用)
  • -a将输入视为ascii,即使它不是(否则grep不会打印匹配)
  • -E使用扩展的正则表达式,因此语法更好

答案 1 :(得分:1)

这可能适合你(GNU sed):

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

这会将每一行拆分为非空格词,然后仅打印由5到25个字母字符组成的单词。