bashスクリプト内の1行のフィールド: 個々のkを取得し、V私はこの形式でのデータの行を読ま
KEYNAME:value,KEYNAME:value,KEYNAME:value
は(キーは、スペースのない文字列があり、値は整数ますので予めご了承ください)
私は(彼らの相対的な位置を知らなくても)、いくつかの特定のキーを選択して、別の行にその値を印刷する必要があります。
value
value
value
これまでのところ、私は複数のKEYに入力行を変換するようなものに来ます。v私が欲しいのキーをgrepをALUEライン、既知の順序を課し、最終的にを通じて重要な部分を削除するには、再度カットすることを渡す:
sed 's/,/\n/g' | egrep '(FooKey|BarKey|BazKey)' | sort | cut -d':' -f2
私は、私はちょうど基本を知っているのはawkで何かを、アレンジと考えていましたフィールドの管理は、名前(キー名)ではなく、位置の順序でのみ行うことができます。
他の言語(PythonやPerlなど)で行うこともできますが、通常のシェルツールを使用してすべてを行う練習として取り上げます。また、私はまだpythonやperlのようなより大きなインタプリタをロードするために、上記の解決策を好むでしょう。
ことawkなどでこれを管理することができました。解決策をありがとうございました:) – Luke404