シェルスクリプトの新機能で、多くのタスクを実行する必要があります。私はできるだけ速く学ぶために努力していますが、シェルスクリプティングでは、タスクが非常に簡単に見えるし、他の時には私と一緒におもちゃを見ることもあります。そして私は今も同様の状況に直面している。 私はこのような出力を与えるコマンドを持っています。シェルスクリプト内でawkを使用して文字列を処理する方法
File Dependents
----------------------------------------------------------------------------
<File> is a requisite of <Dependents>
Path: /usr/lib/obj
Java 1.0.0.0 analysis 0.0.0.2
runtime 1.2.0.0
client 1.2.0.0
framework 6.1.9.100
sguide 1.9.10.0
sysmgt 6.1.9.100
dsm 6.1.9.200
Path: /etc/obj
Java 1.0.0.0 analysis 1.2.0.2
runtime 2.0.0.0
client3 6.1.9.0
sysmgt 6.1.9.0
dsm2 6.1.9.0
ここで、今後の処理のために依存関係のリストを配列に追加したいと考えています。これは私がこれまでに行うことができる午前です:
<command> | cut -f1 | grep '[a-z]' | grep -v File | grep -v : | awk '{ print $1}'
出力は次のようになります。
Java<<< I want this to be analysis
runtime
client
framework
sguide
sysmgt
dsm
Java<<< want this to be analysis
runtime
client3
sysmgt
dsm2
は、私は2つの別々の配列にこれら二つのリストをキャプチャする必要があります。
誰かがこの出力をエレガントな方法で達成するのに手伝ってもらえますか?私は、多くの条件と比較を含む私のブルートフォース方法でこのコードを洗うことを望んでいません。あなたが最初にJavaで部分文字列を削除することによって、あなたのソリューションを修正することができます
あなたはawk配列を読み、最終的な 'awk'スクリプト(あなたのパイプライン上)にすべての処理を保存することをお勧めします。あなたの最終的な処理がどのように見えるかを知らなければ、それ以上のコメントや助けはありません。がんばろう。 – shellter