我需要帮助删除填充中以“/var/log/edb/pgpool4.3/”开头并以“.log:”结尾的所有子字符串。
这是文件的一部分 /var/log/edb/pgpool4.3/edb-pgpool-4.3-2023-09-12_084621.log:2023-09-12 08:46:41.270: 致命: 无法创建后端连接 /var/log/edb/pgpool4.3/edb-pgpool-4.3-2023-09-12_084621.log:2023-09-12 08:46:41.270:无法创建后端连接 /var/log/edb/pgpool4.3/edb-pgpool-4.3-2023-09-14_184833.log:2023-09-14 18:54:04.064:无法创建后端连接 /var/log/edb/pgpool4.3/edb-pgpool-4.3-2023-09-14_184833.log:2023-09-14 18:54:04.064:无法创建后端连接 /var/log/edb/pgpool4.3/edb-pgpool-4.3-2023-09-14_184833.log:2023-09-14 18:54:04.096: /var/log/edb/pgpool4.3/edb-pgpool-4.3-2023-09-16_082301.log:2023-09-16 08:25:51.206:子进程 pid 18545:详细信息:在后端执行故障转移 /var/log/edb/pgpool4.3/edb-pgpool-4.3-2023-09-16_082301.log:2023-09-16 08:25:51.206:子进程 pid 18607:致命:无法创建后端连接 /var/log/edb/pgpool4.3/edb-pgpool-4.3-2023-09-16_082301.log:2023-09-16 08:25:51.206:子进程 pid 18607:详细信息:在后端执行故障转移 /var/log/edb/pgpool4.3/edb-pgpool-4.3-2023-09-19_185855.log:2023-09-19 19:06:47.365:
请用 grep、awk、find 或 sed 推荐一些东西
谢谢
我尝试 grep -Ewi '无法创建|执行故障转移' /var/log/edb/pgpool4.3/edb-pgpool-4.3-2023-09* | grep -v 'i 无效的 PCP 数据包' >> filea
但结果包含 /var/log/edb/pgpool4.3/edb-pgpool.... 。所以我想从结果中删除该子字符串。
谢谢
这个命令终于得到了我想要的结果。 grep -Eih '无法创建|执行故障转移' /var/log/edb/pgpool4.3/edb-pgpool-4.3-2023-09* | grep -v '我有无效的 PCP 数据包'
-E, --extended-regexp PATTERN 是一个扩展正则表达式,用于搜索多个 PATTERNS -h, --no-filename 抑制输出中的文件名前缀 -i, --ignore-case 忽略大小写区别