也许我对 perl/awk/sed 来说太老了,太年轻了不能停止编程。这是我需要解决的问题:
我在 TXT 文件中有这样的信息:
Name:
Name 1
Phone:
1111111
Email:
some@email1
DoentMatterInfo1:
whatever1
=
Name:
Name 2
Phone:
22222222
DoentMatterInfo2:
whatever2
Email:
some@email2
=
Name:
Name 3
DoentMatterInfo3:
whatever2
Email:
some@email3
=
Run Code Online (Sandbox Code Playgroud)
请注意,所需的信息在下一行,有一个记录分隔符 (=) 并且非常重要,有些记录没有所有信息,但可能包含我们不想要的信息。
因此,挑战是在输出中提取所需的信息(如果存在),例如:
Name 1 ; 111111 ; some@email1
Name 2 ; 222222 ; some@email2
Name 3 ; ; some@email3
Run Code Online (Sandbox Code Playgroud)
我尝试过的有点奏效,但剧照不是我想要的。
1. 使用 PERL
使用 Perl 我得到了重要的字段:
while (<>) {
if ($_ =~ /Name/) {
print "=\n". scalar <>;
}
if ($_ =~ /Email/) { …Run Code Online (Sandbox Code Playgroud)