gpt4 book ai didi

bash - 使用bash从文件中提取文本

转载 作者:行者123 更新时间:2023-12-02 06:19:39 25 4
gpt4 key购买 nike

我是 Linux 新手,有一个非常大的文本日志文件可以从中提取。我想用 bash 吗?

例如,该文件包含:

Node:xyz
Time:01/07/13 14:26:17
INFO: Trusted certif ok

Node:abc
Time:01/07/13 14:26:18
INFO: Trusted certif ok

Node:def
Time:01/07/13 14:26:18
INFO: Trusted certif not ok

我需要提取 Node: 之后的文本,并将其添加到 Info: 之后的文本中以显示在一行上,输出将被重定向到一个新文件。我正在尝试 awk 和 sed,但还没有弄清楚。非常感谢帮助。

示例输出如下所示:
xyz Trusted certif ok
abc Trusted certif ok
dbf Trusted certif not ok

最佳答案

尝试这样做:


awk -F: '/^Node/{v=$2}/^INFO/{print v $2}' file.txt

:
while IFS=: read -r c1 c2; do
[[ $c1 == Node ]] && var=$c1
[[ $c1 == INFO ]] && echo "$var$c2"
done < file.txt

:
perl -F: -lane '
$v = $F[1] if $F[0] eq "Node";
print $v, $F[1] if $F[0] eq "INFO"
' file.txt

(在文件中,用法: ./script.py file.txt):
import sys
file = open(sys.argv[1])
while 1:
line = file.readline()
tpl = line.split(":")
if tpl[0] == "Node":
var = tpl[0]
if tpl[0] == "INFO":
print var, tpl[1]
if not line:
break

关于bash - 使用bash从文件中提取文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14204946/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com