У меня есть файл со структуройход линии, которая соответствует шаблону к предыдущей строке
12312
desc: bleh...
9938
desc: blah...
desc: bloh...
desc: blih...
desc: bluh...
9912
desc: blah...
и я хочу, чтобы переместить линию, которая соответствует шаблону «DESC:» к предыдущей строке или удалить «\ п» в строке, которая идет перед каждым шаблоном «desc:».
желаемый результат:
12312 desc: bleh...
9938 desc: blah... desc: bloh... desc: blih... desc: bluh...
9912 desc: blah...
Я попытался
awk '!/desc:/{
printf "%s ",$0
getline
printf "%s \n",$0
}
/desc/{print}' file
без результата.
Фактически все данные являются выходными данными awk -F\" '{print $4 "\t" $6}'
Возможно, я могу что-то сделать в первую очередь?
Не могу получить: 'desc: blah ...' не соответствует '9912', но он движется к нему. Вы можете уточнить свой вопрос? – PoGibas
Я хочу переместить строку, которая соответствует шаблону «desc:» в предыдущую строку или удалить «\ n» в строке, которая идет перед каждым шаблоном «desc:». –
Использование getline - это, как правило, неправильный подход, и это, безусловно, в этом случае. Даже не думайте об использовании getline, пока не прочитаете http://awk.info/?tip/getline и ПОЛНОСТЬЮ не поймете все оговорки. –