繁体   English   中英

如何从文本文件中打印两个字段?

[英]How to print two fields from a text file?

我的机器中有一个日志文件,其中包含以下内容。

2020-06-18 00:01:31|INFO|0||pro_upl_postpaid_trap|ComUpload|CUploadProcessRemoteFile.cpp[95]|rename remote file success,source filename=/file_src/localusers/data/TRAP_CBS/recv/ovou20200617_999_400280.unl.temp,destination filename=/file_src/localusers/data/TRAP_CBS/recv/**ovou20200617_999_400280.unl**
2020-06-18 00:01:32|INFO|0||pro_upl_postpaid_trap|ComUpload|CUploadProcessRemoteFile.cpp[95]|rename remote file success,source filename=/file_src/localusers/data/TRAP_CBS/recv/ocom20200617_512_400106.unl.temp,destination filename=/file_src/localusers/data/TRAP_CBS/recv/ocom20200617_512_400106.unl
2020-06-18 00:01:32|INFO|0||pro_upl_postpaid_trap|ComUpload|CUploadProcessRemoteFile.cpp[95]|rename remote file success,source filename=/file_src/localusers/data/TRAP_CBS/recv/ocom20200617_515_400184.unl.temp,destination filename=/file_src/localusers/data/TRAP_CBS/recv/ocom20200617_515_400184.unl
2020-06-18 00:01:33|INFO|0||pro_upl_postpaid_trap|ComUpload|CUploadProcessRemoteFile.cpp[95]|rename remote file success,source filename=/file_src/localusers/data/TRAP_CBS/recv/odata20200617_517_400092.unl.temp,destination filename=/file_src/localusers/data/TRAP_CBS/recv/odata20200617_517_400092.unl

我想从这个日志文件中打印 3 个字段,如下所示:

2020-06-18 00:01:31|**ovou20200617_999_400280.unl**

我能够打印最后一个字段,但无法同时打印日期/时间 (2020-06-18 00:01:31) 和文件名 (ovou20200617_999_400280.unl)..!!!

cat pro_upl_*_trap_$YestodayDate*|grep 'CUploadProcessRemoteFile.cpp' |awk -F "/" '{print $19}'

任何提示/帮助将不胜感激。

谢谢。

不知道为什么当CUploadProcessRemoteFile.cpp出现在每一行但假设你确实有理由时,你为什么要对它进行 grep-ing,当你使用awk时,你永远不需要grep ,你也不需要cat打开输入文件对于awk

$ awk -F'[|/]' -v OFS='|' '/CUploadProcessRemoteFile\.cpp/{print $1, $NF}' file
2020-06-18 00:01:31|**ovou20200617_999_400280.unl**
2020-06-18 00:01:32|ocom20200617_512_400106.unl
2020-06-18 00:01:32|ocom20200617_515_400184.unl
2020-06-18 00:01:33|odata20200617_517_400092.unl

您可以将 awk 与多个分隔符一起使用:

awk -F'[|/]' '{print $1, $NF}'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM