0

ファイル名が foo.txt で、次の情報が含まれているとします。

Notification are enabled
Notification:445
Mode: valid
Bookmark are enabled
Bookmarks:556
Mode: Invalid
Question are enabled
Question:667
Mode: Unknown

以下の情報を grep/awk/sed したい。次のような結果が必要です

                   "Notification is Valid"
                   "Bookmark is Invalid"
                   "Question is Unknown"

他に何か必要な場合はお知らせください。ありがとうございました。

4

2 に答える 2

1

あなたが何を望んでいるかを正しく理解していれば、次のようなことがうまくいくかもしれません:

awk '/enabled/{g=$1}/Mode:/{printf "%s is %s\n",g,$NF}' foo.txt

少なくとも、あなたが与えた例ではうまくいくはずです。disabledまたはそれ以外のものに対処する必要がある場合はenabled、もう少し複雑になります...

于 2013-03-12T19:44:51.233 に答える
0

foo.txt を想定し、xargs を使用して \n char 式のスペースで区切られた 6 つの「グループ」を含む 3 行ごとの最初と最後の単語を抽出したいとします。

xargs -n6 < foo.txt

コンテンツを「線形化」し、以下を提供します。

Notification are enabled Notification:445 Mode: valid
Bookmark are enabled Bookmarks:556 Mode: Invalid
Question are enabled Question:667 Mode: Unknown

このコンテンツを awk にパイプします。

xargs -n6 < foo.txt | awk '{print $1" is "$6}'

それはあなたが探しているものに近いものを与えると思います:

Notification is valid
Bookmark is Invalid
Question is Unknown

HTH

于 2013-12-01T22:38:34.147 に答える