предложение в одной строке с использованием awk

Я извлек данные по командам и сохранил их в файле kwrite, но теперь я хочу извлечь из него важные данные, но данные должны быть идеально в 1 строке, в то время как в моем случае он разбивается на 2,3 строки. Строки начать с Jpak представляет интерес. Данные:

Jpak= its just a sample data for posting, solve the query asap Breadth=44 ***** less***** -- Effective search space used: 2418848120 Jpak= To work late into the night, alluding to the time before electric lighting Breadth=75 ***** less***** -- Jpak= Speak of an issue, (mostly current) which , many people , are talking Breadth=22 ***** less ***** - -

Желаемый выход:

Jpak= its just a sample data for posting solve the query asap Jpak= To work late into the night alluding to the time before electric lighting Jpak= Speak of an issue (mostly current) which many people are talking
-1
задан 20 September 2017 в 12:32

4 ответа

Pure sed solution

Извините, я не знаю (достаточно) с awk, но это выполняет задание:

sed '/Jpak=/,/^$/!d' sample|sed ':a;N;$!ba;s/\n//g;s/,/ /g;s/ \{2,\}/ /g;s/Jpak/\n\nJpak/g'

Собранные вместе из sed1line и Как заменить новую строку (\ n) с помощью sed?. [! ​​D2]

Выход

Jpak= its just a sample data for posting solve the query asap Jpak= To work late into the night alluding to the time before electric lighting Jpak= Speak of an issue (mostly current) which many people are talking

Используя эту цепочку команд, вывод начинается с двух пустых строк (здесь не показано) добавьте |sed '1,2d' в конец цепочки, чтобы удалить их.

1
ответ дан 18 July 2018 в 06:32
perl -n00E '/Jpak=/ and s/\s+/ /g and say' ex.txt -n00E - для каждого отдельного абзаца с пустыми линиями ... /Jpak=/ and - найдите желаемый шаблон и ... s/\s+/ /g - замените последовательности пробелов, новой строки и вкладок на одно пространство and say - и скажите, что было найдено.

Выход:

Jpak= its just a sample data for posting, solve the query asap Jpak= To work late into the night, alluding to the time before electric lighting Jpak= Speak of an issue, (mostly current) which , many people , are talking
0
ответ дан 18 July 2018 в 06:32

Pure sed solution

Извините, я не знаю (достаточно) с awk, но это выполняет задание:

sed '/Jpak=/,/^$/!d' sample|sed ':a;N;$!ba;s/\n//g;s/,/ /g;s/ \{2,\}/ /g;s/Jpak/\n\nJpak/g'

Собранные вместе из sed1line и Как заменить новую строку (\ n) с помощью sed?. [! ​​D2]

Выход

Jpak= its just a sample data for posting solve the query asap Jpak= To work late into the night alluding to the time before electric lighting Jpak= Speak of an issue (mostly current) which many people are talking

Используя эту цепочку команд, вывод начинается с двух пустых строк (здесь не показано) добавьте |sed '1,2d' в конец цепочки, чтобы удалить их.

1
ответ дан 24 July 2018 в 18:37
perl -n00E '/Jpak=/ and s/\s+/ /g and say' ex.txt -n00E - для каждого отдельного абзаца с пустыми линиями ... /Jpak=/ and - найдите желаемый шаблон и ... s/\s+/ /g - замените последовательности пробелов, новой строки и вкладок на одно пространство and say - и скажите, что было найдено.

Выход:

Jpak= its just a sample data for posting, solve the query asap Jpak= To work late into the night, alluding to the time before electric lighting Jpak= Speak of an issue, (mostly current) which , many people , are talking
0
ответ дан 24 July 2018 в 18:37

Другие вопросы по тегам:

Похожие вопросы: