0

わかりましたので、私が抱えている問題は、このような多数の行を含むファイルがあることです。

{"cameraEndpoint":"your.url.here","cameraId":"20MP S ミドル ポート 2","warehouseId":"random"}

これは、実際の cameraId だけが必要です。いくつかの grep fu を試しましたが、うまくいきませんでした。これは、実行したコマンドの 1 つです。

grep -o '\"cameraId\":\"*"' camlist.txt

しかし、それは戻るだけです

"cameraId":" "cameraId":" "cameraId":" "cameraId":" "cameraId":" "cameraId":" "cameraId":" "cameraId":"

Quotations間のデータが実際に必要な場所。

4

1 に答える 1

2

私がそれを正しく理解していればcameraId、あなたの例ではの属性が必要です20MP S Middle Port 2

もしそうなら、あなたはこれを行うことができます:

$ grep -Po '(?<=cameraId":")[^"]*' file
20MP S Middle Port 2

aftercameraId":"から next までのすべてのデータをフェッチします"

テスト

$ cat file
{"cameraEndpoint":"your.url.here","cameraId":"20MP S Middle Port 2","warehouseId":"random"}
{"cameraEndpoint":"your.url.here","cameraId":"Hello S Middle Port 2","warehouseId":"random"}
{"cameraEndpoint":"your.url.here","camaId":"Hello S Middle Port 2","warehouseId":"random"}
$ grep -Po '(?<=cameraId":")[^"]*' file
20MP S Middle Port 2
Hello S Middle Port 2
于 2013-07-11T12:57:07.707 に答える