带有多个定界符的AWK

亚历克斯

我正在尝试将tshark输出插入MySQL数据库。Tshark输出具有以下格式:

VALUE1:VALUE2_1|VALUE2_2|VALUE2_3:VALUE3_1,VALUE3_2,VALUE3_3:VALUE4:VALUE5

目前,我正在尝试通过管道将输出重定向到sed和awk:

|sed -u "s/^/insert into data (item1, item2, item3, item4, item5) values('/g"|awk -F":" -v OFS=',' '{print $1,$2}'

,但只需要一些值。

这样生成的命令必须看起来像:

insert into data (item1, item2, item3, item4, item5) values(value1,value2_2,value3_2,value4,value5)

还有一些来自开发环境的示例:

Tshark永久生成以下类型的输出:

1418043291.268345000:14567744356|4|8v95489464:DC0289001840,NNN100,DC206286661:03612037:ON1774B01
1418043291.201703000:14567744356|0|6b10992051:DC0289001840,NNN120,DC081276320:04891241:ON891N619 

, 在哪里

  1. 1418043291.268345000-VALUE1
  2. 14567744356 | 4 | 8v95489464-VALUE2
  3. DC0289001840,NNN100,DC206286661-VALUE3
  4. 03612037-VALUE4
  5. ON1774B01-VALUE5

对于VALUE2和VALUE3,仅对中间行感兴趣,即,对于VALUE2为“ 4”,对于VALUE3为“ NN100”。这些值(VALUE2,VALUE3)中的所有其他行对于从外面进行进一步的计算都是不必要的,这就是为什么必须将其丢弃并且生成的insert命令必须类似于以下内容的原因:

insert into data (item1, item2, item3, item4, item5) values(1418043291.268345000,4,NNN100,03612037,ON1774B01)

您能否提出建议,如何修改awk命令以插入值:

 VALUE1:VALUE2_2:VALUE3_2:VALUE4:VALUE5 ? 
纳伦·勒维鲁

根据您的示例,说明,并进行了一些简化和简化,没有awk(这种情况下不需要,并且对于OS来说更重)

sed 's/\([^:]*\):[^|]*|\([^|]*\)|[^,]*,\([^,]*\),[^:]*:\([^:]*\):\(.*\)/insert into data (item1, item2, item3, item4, item5) values(\1,\2,\3,\4,\5)/' YourFile

(posix版本--posix,例如GNU sed)

真正的完整结构是使用完整值和子组:

sed 's/\([^:]*\):\([^|]*|\([^|]*\)|^[^:]*\):\([^,]*,\([^,]*\),[^:]*\):\([^:]*\):\(.*\)/insert into data (item1, item2, item3, item4, item5) values(\1,\3,\5,\6,\7)/' YourFile

现在,仅awk也是可能的,先执行sed,然后再执行awk是为了避免(通常是可能)性能和资源的观点

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

AWK打印带有多个定界符的文件中的行

来自分类Dev

带有“ [”和“]”定界符的awk错误

来自分类Dev

带有“ [”和“]”定界符的awk错误

来自分类Dev

SUBSTRING_INDEX,带有多个定界符

来自分类Dev

SUBSTRING_INDEX,带有多个定界符

来自分类Dev

解析带有多个定界符的字符串

来自分类Dev

带有多个定界符的BigQuery SPLIT

来自分类Dev

打印具有相似列且带有多个定界符的行

来自分类Dev

R:读取带有多个空格作为定界符+空格作为缺失值的文件

来自分类Dev

Stata:导入带有多个多字符定界符的txt

来自分类Dev

R:读取带有多个空格作为定界符+空格作为缺失值的文件

来自分类Dev

多个作者定界符

来自分类Dev

带有空定界符的SAS CATX

来自分类Dev

带有不同定界符的配对列表

来自分类Dev

具有多个定界符的字符串流

来自分类Dev

具有多个定界符的分割列表

来自分类Dev

在Java中读取具有多个定界符的文件

来自分类Dev

如何对具有多个定界符的文件进行排序?

来自分类Dev

如何将带有多个字符的定界符解析.txt到pandas df中?

来自分类Dev

正则表达式:在定界符之间捕获,带有可选的结束定界符

来自分类Dev

如果我们用定界符分割却连续有多个定界符,会发生什么情况?

来自分类Dev

awk命令问题,以识别定界符

来自分类Dev

AWK多字符定界符

来自分类Dev

带多个定界符的拆分列

来自分类Dev

用gnuplot设置多个定界符

来自分类Dev

带多个定界符的strtok

来自分类Dev

用多个定界符分割

来自分类Dev

粘贴命令:设置(多个)定界符

来自分类Dev

熊猫:如何分割多个定界符?