扫描文件的每一行并查找匹配项 (|##|) ,如果找到,请在下一行前面添加双引号



需要您对以下要求的帮助和建议。

阅读每一行并查找"|##|"(这是我的结束行字符(如果找到,请在下一行的前面或开头插入/add 双引号 ("(

输入文件 #1:

101|*|101-C-01071|*|FIRSTLINE|##|
102|*|DOUBT and Stage go to 
and admin|*|SIMCA-ON|##|
103|*|101-C-01071|*|VEEVA|##|

预期输出:

101|*|101-C-01071|*|FIRSTLINE|##|
"102|*|DOUBT and Stage go to 
and admin|*|SIMCA-ON|##|
"103|*|101-C-01071|*|VEEVA|##|

输入文件 #2:

101|*|101-C-01071|*|Integrity Testing of Bleed Back Filter (Emflon II ) Installed on ETC Autoclave|*|PUBLIC|*||*|Y|*|Y|*||*|CFC6E8227CDB0A7AE040800AA5644B19|*|mdarling|*|2007.06.22 09:59:03|##|
102|*|102-CC-10|*|Sterilization and Leak Rate Testing of Stokes Style Freeze Drier|*|PUBLIC|*||*|Y|*|Y|*||*|CFC6E8227CDC0A7AE040800AA5644B19|*|mdarling|*|2007.06.22 10:00:05|##|
103|*|103-CC-13|*|CIP/SIP Leak Testing Hull 380sq. ft. Freeze Drier|*|PUBLIC|*||*|Y|*|Y|*||*|CFC6E8227CDD0A7AE040800AA5644B19|*|mdarling|*|2007.06.22 10:00:16|##|
104|*|104-CC-15|*|Emergency Situations & Alarms Involving the Automated Hull Freeze Drier Control|*|PUBLIC|*||*|Y|*|Y|*||*|CFC6E8227CDE0A7AE040800AA5644B19|*|mdarling|*|2007.06.22 10:00:32|##|

结果:

101|*|101-C-01071|*|Integrity Testing of Bleed Back Filter (Emflon II ) Installed on ETC Autoclave|*|PUBLIC|*||*|Y|*|Y|*||*|CFC6E8227CDB0A7AE040800AA5644B19|*|mdarling|*|2007.06.22 09:59:03|##|
"102|*|102-CC-10|*|Sterilization and Leak Rate Testing of Stokes Style Freeze Drier|*|PUBLIC|*||*|Y|*|Y|*||*|CFC6E8227CDC0A7AE040800AA5644B19|*|mdarling|*|2007.06.22 10:00:05|##|
103|*|103-CC-13|*|CIP/SIP Leak Testing Hull 380sq. ft. Freeze Drier|*|PUBLIC|*||*|Y|*|Y|*||*|CFC6E8227CDD0A7AE040800AA5644B19|*|mdarling|*|2007.06.22 10:00:16|##|
"104|*|104-CC-15|*|Emergency Situations & Alarms Involving the Automated Hull Freeze Drier Control|*|PUBLIC|*||*|Y|*|Y|*||*|CFC6E8227CDE0A7AE040800AA5644B19|*|mdarling|*|2007.06.22 10:00:32|##|

Sed 工作:

sed -n ':a;/|##|/{p;n;s/^/"/;ba;};p;'

教程点提供实时示例。

awk 解决方案怎么样:

> cat in_file
101|*|101-C-01071|*|FIRSTLINE|##|
102|*|DOUBT and Stage go to
and admin|*|SIMCA-ON|##|
103|*|101-C-01071|*|VEEVA|##|
> awk -F" " ' { if($0~/|##|/) { print; getline; print "x22"$0 } else { print } } ' in_file
101|*|101-C-01071|*|FIRSTLINE|##|
"102|*|DOUBT and Stage go to
and admin|*|SIMCA-ON|##|
"103|*|101-C-01071|*|VEEVA|##|
>

编辑1:

> cat double_quote.txt
101||101-C-01071||Integrity Testing of Bleed Back Filter (Emflon II ) Installed on ETC
Autoclave||PUBLIC||||Y||Y||||CFC6E8227CDB0A7AE040800AA5644B19||mdarling||2007.06.22
09:59:03|##| 102||102-CC-10||Sterilization and Leak Rate Testing of Stokes Style Freeze
Drier||PUBLIC||||Y||Y||||CFC6E8227CDC0A7AE040800AA5644B19||mdarling||2007.06.22
10:00:05|##| 103||103-CC-13||CIP/SIP Leak Testing Hull 380sq. ft. Freeze
Drier||PUBLIC||||Y||Y||||CFC6E8227CDD0A7AE040800AA5644B19||mdarling||2007.06.22
10:00:16|##| 104||104-CC-15||Emergency Situations & Alarms Involving the Automated Hull Freeze
Drier Control||PUBLIC||||Y||Y||||CFC6E8227CDE0A7AE040800AA5644B19||mdarling||2007.06.22
10:00:32|##| strong text
>
>  awk -F" " ' { if($0~/|##|/) { print; pre=$0;getline; if(pre!=$0) {print "x22"$0 } } else { print } } '  double_quote.txt
101||101-C-01071||Integrity Testing of Bleed Back Filter (Emflon II ) Installed on ETC
Autoclave||PUBLIC||||Y||Y||||CFC6E8227CDB0A7AE040800AA5644B19||mdarling||2007.06.22
09:59:03|##| 102||102-CC-10||Sterilization and Leak Rate Testing of Stokes Style Freeze
"Drier||PUBLIC||||Y||Y||||CFC6E8227CDC0A7AE040800AA5644B19||mdarling||2007.06.22
10:00:05|##| 103||103-CC-13||CIP/SIP Leak Testing Hull 380sq. ft. Freeze
"Drier||PUBLIC||||Y||Y||||CFC6E8227CDD0A7AE040800AA5644B19||mdarling||2007.06.22
10:00:16|##| 104||104-CC-15||Emergency Situations & Alarms Involving the Automated Hull Freeze
"Drier Control||PUBLIC||||Y||Y||||CFC6E8227CDE0A7AE040800AA5644B19||mdarling||2007.06.22
10:00:32|##| strong text
>

最新更新