, пожалуйста, попробуйте выполнить следующее.
awk '
match($0,/var1: [^ ]*/){
val=substr($0,RSTART+6,RLENGTH-6)
match($0,/var2: [^ ]*/)
print val"|"substr($0,RSTART+6,RLENGTH-6)
}' Input_file
ИЛИ (поскольку первый код будет иметь ограничение, он будет искать val1
должна присутствовать как строка, так и строка val2
, чтобы избежатьчто можно попробовать):
awk '
match($0,/var1: [^ ]*/){
val=substr($0,RSTART+6,RLENGTH-6)
}
match($0,/var2: [^ ]*/){
print val"|"substr($0,RSTART+6,RLENGTH-6)
}' Input_file
Вывод будет следующим.
valueA|valueB
valueC|valueD
valueE|valueF
valueG|valueH