У меня есть следующие данные (внизу) в текстовом файле. Я использую awk для изменения строки в столбце, но человек это грязный.Чистый способ awk этой строки
cat 5_lines.txt |awk -F\' '{print $1,"\n" "\n" $2,"\n" $3,"\n" $4,"\n" $5,"\n" $6,"\n" $7,"\n" $8,"\n" $9,"\n" $10,"\n" $11,"\n" $12,"\n" $13,"\n" $14,"\n" $15,"\n" $16,"\n" $17,"\n" $18,"\n" $19,"\n" $20,"\n" $21,"\n" $22,"\n" $23,"\n" $24,"\n" $25,"\n" $26,"\n" $27,"\n" $28,"\n" $29,"\n" $30,"\n" $31,"\n" $32,"\n" $33,"\n" $34"\n"}'|sed -e 's/ */ /g' -e 's/\[//g' -e 's/,//g'
Я бы по достоинству оценил некоторые предложения по сокращению части awk этой команды. Заранее спасибо.
#### Ожидаемый результатBBBB 4575 XXX.YYY.ZZZ.191
part = TBD Part
model = TBD Model
serial = TBD Serial
wpn = TBD WPN
feature = 0
mods =
date = 0-00-00 00:00:00
hours = 0
key1 = 0
key2 = 0
key3 = 0
key4 = 0
key5 = 0
key6 = 0
key7 = 0
key8 = 0
14
BBBB 4576 XXX.YYY.ZZZ.121
part = TBD Part
model = TBD Model
serial = TBD Serial
wpn = TBD WPN
feature = 0
mods =
date = 0-00-00 00:00:00
hours = 0
key1 = 0
key2 = 0
key3 = 0
key4 = 0
key5 = 0
key6 = 0
key7 = 0
key8 = 0
14
BBBB 4578 XXX.YYY.ZZZ.162
part = TBD Part
model = TBD Model
serial = TBD Serial
wpn = TBD WPN
feature = 0
mods =
date = 0-00-00 00:00:00
hours = 0
key1 = 0
key2 = 0
key3 = 0
key4 = 0
key5 = 0
key6 = 0
key7 = 0
key8 = 0
14
BBBB 4580 XXX.YYY.ZZZ.179
part = TBD Part
model = TBD Model
serial = TBD Serial
wpn = TBD WPN
feature = 0
mods =
date = 0-00-00 00:00:00
hours = 0
key1 = 0
key2 = 0
key3 = 0
key4 = 0
key5 = 0
key6 = 0
key7 = 0
key8 = 0
14
BBBB 4581 XXX.YYY.ZZZ.15
part = TBD Part
model = TBD Model
serial = TBD Serial
wpn = TBD WPN
feature = 0
mods =
date = 0-00-00 00:00:00
hours = 0
key1 = 0
key2 = 0
key3 = 0
key4 = 0
key5 = 0
key6 = 0
key7 = 0
key8 = 0
14
#
Raw Data
BBBB 4575 XXX.YYY.ZZZ.191 part = TBD Part model = TBD Model serial = TBD Serial wpn = TBD WPN feature = 0 mods = date = 0-00-00 00:00:00 hours = 0 key1 = 0 key2 = 0 key3 = 0 key4 = 0 key5 = 0 key5 = 0 key6 = 0 key7 = 0 key8 = 0 14
BBBB 4576 XXX.YYY.ZZZ.121 part = TBD Part model = TBD Model serial = TBD Serial wpn = TBD WPN feature = 0 mods = date = 0-00-00 00:00:00 hours = 0 key1 = 0 key2 = 0 key3 = 0 key4 = 0 key5 = 0 key5 = 0 key6 = 0 key7 = 0 key8 = 0 14
BBBB 4578 XXX.YYY.ZZZ.162 part = TBD Part model = TBD Model serial = TBD Serial wpn = TBD WPN feature = 0 mods = date = 0-00-00 00:00:00 hours = 0 key1 = 0 key2 = 0 key3 = 0 key4 = 0 key5 = 0 key5 = 0 key6 = 0 key7 = 0 key8 = 0 14
BBBB 4580 XXX.YYY.ZZZ.179 part = TBD Part model = TBD Model serial = TBD Serial wpn = TBD WPN feature = 0 mods = date = 0-00-00 00:00:00 hours = 0 key1 = 0 key2 = 0 key3 = 0 key4 = 0 key5 = 0 key5 = 0 key6 = 0 key7 = 0 key8 = 0 14
BBBB 4581 XXX.YYY.ZZZ.15 part = TBD Part model = TBD Model serial = TBD Serial wpn = TBD WPN feature = 0 mods = date = 0-00-00 00:00:00 hours = 0 key1 = 0 key2 = 0 key3 = 0 key4 = 0 key5 = 0 key5 = 0 key6 = 0 key7 = 0 key8 = 0 14
Каков ваш ожидаемый результат? – anubhava
Команда awk использует '' 'как разделитель полей, но этот символ не появляется в вашем примере ввода. Команда sed удаляет '[', но этот символ также не появляется на входе. _Пожалуйста, ясно покажите, каков ваш реальный вход и какой желаемый результат. _ – John1024
Они должны быть удалены администратором. Строка выглядит так: BNSF 4575 10.145.181.191 ['part = TBD Part', 'model = TBD Model', 'serial = TBD Serial', 'wpn = TBD WPN', 'feature = 0', 'mods =' , 'date = 0-00-00 00:00:00', 'hours = 0', 'key1 = 0', 'key2 = 0', 'key3 = 0', 'key4 = 0', 'key5 = 0 ',' key6 = 0 ',' key7 = 0 ',' key8 = 0 ',' 14 '] – teamg