当前位置: 首页 > 面试题库 >

awk和特殊括号分隔符

华良平
2023-03-14
问题内容

我有以下格式的数据:

.......{INFO1}.....[INFO2]....

因为awk拿起INFO1INFO2零件应该真的很简单,但是我真的很努力。

我已经设法[INFO2]通过使用获得了部分,awk -F'[][]' '{ print $2 }'INFO1正义将不适合我。

如何指定{}为分隔符?


问题答案:

只需使用[][{}]定义您可以使用这些:[]{}作为字段分隔

awk -F"[][{}]" '{print ...}' file

通常,您说-F"[PATTERNS]"

测试

$ echo ".......{INFO1}.....[INFO2]...." | awk -F"[][{}]" '{print $2}'
INFO1
$ echo ".......{INFO1}.....[INFO2]...." | awk -F"[][{}]" '{print $4}'
INFO2


 类似资料:
  • 假设我有一个类似“a B C(123-456-789)”的字符串,我想知道从中检索“123-456-789”的最佳方法是什么。

  • 本文向大家介绍awk RS-记录分隔符,包括了awk RS-记录分隔符的使用技巧和注意事项,需要的朋友参考一下 示例 由awk用于将输入拆分为多个记录。例如: 产生: 默认情况下,记录分隔符是换行符。 同样:echo“ abc | de f” | awk'BEGIN {RS =“ |”} {print $2}' 产生:            

  • 问题内容: 我有一个像 我想把它分成那些字符串 如果我简单地打电话给我,那么在修剪之后我会得到不同的结果,因为在某些字符串中,例如,仍然有一个逗号。但我不想放在方括号中。有解决这个问题的优雅方法吗? 问题答案: 假设和没有嵌套和未转义。您可以使用以下方式进行拆分: 正则演示 如果逗号后面没有非圆括号和,则将匹配逗号,从而忽略和中的逗号。

  • 我有一个长字符串,只要逗号不在方括号或圆括号内,我想通过用逗号将其拆分来将其设置为数组。我已经尝试了一些变化,但没有得到我想要的。。。 例1: 例2:

  • 本文向大家介绍awk ORS-输出记录分隔符,包括了awk ORS-输出记录分隔符的使用技巧和注意事项,需要的朋友参考一下 示例 由awk用于分隔记录,并在每个print语句的末尾输出。例如: 产生: 默认值为\n(换行符)。

  • 本文向大家介绍awk OFS-输出字段分隔符,包括了awk OFS-输出字段分隔符的使用技巧和注意事项,需要的朋友参考一下 示例 由awk用来分隔print语句输出的字段。例如: 产生: 默认值为,由单个空格组成的字符串。