ファイルから特定のテキストの内容を取得する方法

ファイルから特定のテキストの内容を取得する方法

次の内容を含むデモ.txtというファイルがあります。

value -= [
 "02|05|06|abc",
]

/* Some other content other than value variable */

value -= [
]

value -= [
 "0698|06|07|abc",
]

このデモ.txtファイルには多くの値変数があります。

Demo.txtファイルを読んだ後、以下のように一意の値だけを印刷したいと思います。

02| 05| 06| 0698| 07| abc

私は以下を試しました:

awk '$0 == "value -= [" {i=1;next};i && i++ <= 1'

これは私に与える

"02|05|06|abc",
]
"0698|06|07|abc",

しかし、私は「]」を望んでおらず、重複した内容も望んでいません。この場合、「06」と「abc」

誰でもアドバイスできますか?

ベストアンサー1

$ grep -oE '".*"' demo.txt | grep -oE '\w+' | sort -u
02
05
06
0698
07
abc
  • -o一致する行のうち、一致する(空でない)部分のみを印刷します。各部分は別々の出力行に印刷されます。
  • -EPATTERNを拡張正規表現として解釈
  • ".*"引用符内のすべての値を取得します。
  • \w+1つ以上の英数字/下線文字
  • sort -u独自の価値を得る

おすすめ記事