ディレクトリリストを生成するシェルスクリプトを作成しています。
入力としてaは長いHTML文字列を受け取ります:
https://www.mycompany.com/posts/aureliaflore_china-seoul-startup-activity-6571925510337728512-acAw","$type":"com.traver.voyager.feed.actions.Action"},
link to post","url":"https://www.mycompany.com/posts/aureliaflore_reuters-top-news-on-twitter-activity-6571392661482233856-T3dO","$type":
article","$type":"com.traver.voyager.feed.actions.Action"},{"actionType":"SHARE_VIA","text":"Copy link to post","url":"https://www.mycompany.com/posts/aureliaflore_are-you-thinking-to-the-benefits-of-digitalization-activity-6570119712154451968-927T","$type":"com.traver.voyager
出力を簡単にカスタマイズできるように、スクリプトはURLテーブルのみを表示します。
https://www.mycompany.com/posts/aureliaflore_china-seoul-startup-activity-6571925510337728512-acAw
https://www.mycompany.com/posts/aureliaflore_reuters-top-news-on-twitter-activity-6571392661482233856-T3dO
https://www.mycompany.com/posts/aureliaflore_are-you-thinking-to-the-benefits-of-digitalization-activity-6570119712154451968-927T
検索パターンは「」で始まります。https://www."、XXXXXX 文字(動的サイズ)、"(引用符を抽出しない)で終わる
現在のソリューションはcut -fに基づいていますが、合計入力サイズが動的であるため、パターンが見つかりません。
答え1
サンプルデータは破損したjsonフラグメントのように見えるため、jq
それを使用して必要なものを抽出する必要があります。今後元の入力に何をしても、次のように見えます。
ただし、保持しているコンテンツからhttps://www
二重引用符で始まり、それを含まないURLを抽出するには、次のようにしますgrep
。
$ grep -o 'https://www[^"]*' input.txt
https://www.mycompany.com/posts/aureliaflore_china-seoul-startup-activity-6571925510337728512-acAw
https://www.mycompany.com/posts/aureliaflore_reuters-top-news-on-twitter-activity-6571392661482233856-T3dO
https://www.mycompany.com/posts/aureliaflore_are-you-thinking-to-the-benefits-of-digitalization-activity-6570119712154451968-927T