2016-09-19 3 views
1

URLは常に8つのランダムな文字で終了します。
私は簡単にgrep URLをランダムに終了しようとしています

はgrep https://websitef.com/のtest.txtでhttps://websitef.com/をgrepすることができます

が、それはファイル内のどのようなものか。これは、ある

の後に来るものを8つのランダムな文字を取得する方法を見つけ出すカント:

..."num_comments": 16, "url": "https://websitef.com/vkl6owav", "_has_fetched": true.....  

答えて

0

入力がJSONの場合は、JSON固有のツールの使用を検討してください。

$ grep -Po '(?<=https://websitef.com/)\w+' file 
vkl6owav 

\w+は、単語の文字の文字列にマッチする:あなたがしたい文字列をgrepするには

$ cat file 
..."num_comments": 16, "url": "https://websitef.com/vkl6owav", "_has_fetched": true.....  

は」あなたのテストファイルを考えてみましょう。 (?<=https://websitef.com/)は、文字列https://websitef.com/に続く文字との一致を制限するルック・バックです。これにはGNU grepが必要です。

のGNU grepのはsedを使用することができ、使用できない場合:

$ sed -En 's|.*https://websitef.com/([[:alnum:]]+).*|\1|p' file 
vkl6owav 

あなたは全体のURLを望んでいる場合だけではなく、ランダムな文字列:

$ grep -o 'https://websitef.com/[[:alnum:]]*' file 
https://websitef.com/vkl6owav 
+0

はい、それはJSONファイルです。私は最良の方法で質問をしていないかもしれない、私は複数のファイルからこれらのリンクの複数を抽出したい。定数がhttps://websitef.com/で、変更後の文字数が8個の場合。 – Janice9000

+0

@ Janice9000その場合、最後の解決策があなたのために働くはずです。 – John1024

関連する問題