0test.txt
次のコードスニペットを含むテキストファイルがあります。(複数のhttpおよびhttps URLリンクがありますが、この行には個別にリストされています。)
player.setup({
file: 'http://website.com/site/myStream/playlist.m3u8?wmsAuthSign=c2VydmVyXs',
width: "100%",
aspectratio: "16:9",
});
sed
次のコマンドを実行できます。
cat /tmp/0test.txt | sed -n -e "/^ *file: */ { s/^ *file: *'//; s/', *$//p}"
そして正しいURLリンクを返します。
http://website.com/site/myStream/playlist.m3u8?wmsAuthSign=c2VydmVyXs
ただし、ファイルが0test.txt
次の場合:
player.setup({
file:
'http://website.com/site/myStream/playlist.m3u8?wmsAuthSign=c2VydmVyX3RpbWU9MTIvNC8yMDE5IDk6MTY6NTggUE0maGFzaF92YWx1ZT16RXpiUWowQ0V4TDJER3ExQnFZTEd3PT0mdmFsaWRtaW51dGVzPTM2MCZzdHJtX2xlbj0w',
width: "100%",
aspectratio: "16:9",
aspectratio: "16:9"
});
私は対価で何も得られません。この問題をどのように解決できますか?
ベストアンサー1
この特定のケースではgrep
より便利です。最初のステップとしてline:
専門用語を検索し、出力に次の行を追加します。次にURL自体を使用してを選択しgrep
、最後にsed
続く一重引用符とカンマを削除します。
grep -A 1 'file:' <infile(s)> | grep -oE 'http.*' | sed "s:',$::"