Сканирование каждой строки файла и поиск совпадений (| ## |), если найдено, добавьте двойные кавычки перед следующей строкой - PullRequest
0 голосов
/ 03 октября 2018

Нужна ваша помощь и предложение по следующим требованиям.

Прочитайте каждую строку и найдите '| ## |'(это мой символ конца строки), если он найден, вставьте / добавьте двойные кавычки (") перед или в начале следующей строки

Входной файл № 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|##|

Ответы [ 2 ]

0 голосов
/ 03 октября 2018

Как насчет решения 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|##|
>

EDIT1:

> 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
>
0 голосов
/ 03 октября 2018

Sed works:

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

Живой пример доступен на уроках .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...