私の入力は次のとおりです。
["https://www.tesing.com/watch/80239279"],
["https://www.testing.com/watch/80240715?source=35"],
["https://www.testing.com/watch/80242619?trackId=254015180&tctx=0%2C0%2Ce336905e-6b5c-4a93-ad18-57ae35b6eb08-583558810%2C29fea9da-2bf8-43b0-b26a-2da637154825_96118138X20XX1560732016031%2C29fea9da-2bf8-43b0-b26a-2da637154825_ROOT"],
["https://www.testing.com/watch/80242619?tctx=1%252C0%252C%252C%252C"],
だから私は単にエキスが欲しいパラメータ(例:trackId、SourceId)
私のもの正規表現はい/[\?\\&]{1,2}\w+=/
。
ファイル.awk
BEGIN {}
{
match($0, /[\?\\&]{1,2}\w+=/){print substr($0, RSTART, RLENGTH)}
}
END {}
ただし、一致する文字列のみを印刷します。
ベストアンサー1
質問が関係していても、awk
pure(特にgrep)または以下を使用して同じ目標を達成するのがはるかに簡単であることに注意してください。grep
sed
grep -o '\?[^=]*='
または
sed -n 's/.*\(\?[^=]*=\).*/\1/p'