web-dev-qa-db-ja.com

変数をawk gsubに渡す

私はこのコマンドを持っています
ここに

 vovar = OBJECTS 
 prvar = "$(awk '/'" $ vovar "'/、/}/{gsub(" $ vovar "、" "); gsub("} "、 ":%s、"); gsub( "{"、 ""); gsub( "、"、 ":%s、"); print} 'temp1) "

Temp1の内容

 ciscoFlashCopyCompletionTrap NOTIFICATION-TYPE 
オブジェクト
 {
 ciscoFlashCopyStatus 
} 
 STATUS current 
説明
 "操作の開始時にそのようなトラップ
が要求された場合、フラッシュコピー操作の
完了時にciscoFlashCopyCompletionTrapが送信されます。
" 
 :: = {ciscoFlashMIBTraps 1} 

コマンドに実行させたいこと

 ciscoFlashCopyStatus 
:%s:%s、

それが実際に行うこと

オブジェクト
 
 ciscoFlashCopyStatus 
:%s:%s、

必要なものを取得できるようにawkコマンドを変更するにはどうすればよいですか?

4
SamFlynn

vovarを単一引用符の外側で初めて使用しましたが、2回目ではありませんでした。

... awk '/'"$vovar"'/,/}/ {gsub("$vovar"," ") ...

一貫していた場合:

$ awk '/'"$vovar"'/,/}/ {gsub("'"$vovar"'"," "); gsub("}",": %s,"); gsub("{"," ");gsub(",",": %s,");print}' foo


                ciscoFlashCopyStatus  
                : %s: %s,
4
muru