2017-10-23 12 views
1

sedを使用してテキストを解析する必要があります。私はこの特定のケースではAnsibleで引き起こされるいくつかの構文のためにカットを使用することはできません。私はsedでこれを達成することを望んでいました。これは1行のテキストです。Sed only one-liner

"_ref": "record:host/ZG5zLmhvc3QkLl9kZWZhdWx0Lm5ldC5kdHZvcHMuYW5keXRlc3QwMg:pootest02.catt.net/Internal" 

は私が第三「(引用)した後、すべてのものをプリントアウトし、第三の前にする必要があります。(コロン)

私の期待される結果は次のようになります。

record:host/ZG5zLmhvc3QkLl9kZWZhdWx0Lm5ldC5kdHZvcHMuYW5keXRlc3QwMg 

すべてのヘルプや方向を。大歓迎です

+3

は、JSONファイルのこの部分ですか?もしそうなら、 'jq -r '.ref /": "|のようなJSONを理解するツールを使う方が良いでしょう。 。[0:2] | join( ":") ''。 – chepner

答えて

1

ことは、これを試してみてください:

sed -r 's/^".*".*"(.*):.*/\1/' 

が、それはJSONだ場合chepnerはコメントで言ったように、本当にこれは美しく働くことになったものです

0

を試してみてください。

sed -n -e 's#.*\(record:[^:]\+\):.*#\1#p'