我想使用sed从hex文件中提取数据,但我不希望任何十六进制格式输出到屏幕
我想要从A到Z或a到z中提取最少5个字符且最大长度为25个字符的任何单词
有没有办法用sed和awk
来做到这一点答案 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个字母字符组成的单词。