grepでxだけの出力を出力して重複をスキップする方法

grepでxだけの出力を出力して重複をスキップする方法

そのため、YouTubeチャンネルの名前を入力してから5つの最新の動画を見つけることに関連するクイックシェルスクリプトを現在作成しているのに問題があります。

私はこの仕事のためにYouTubeのフロントエンド「vid.puffyan.us」を使用しています。

では、5つの動画をgrepingするときにサイトHTMLの方法で同じ動画IDが3回繰り返されますが、これをスキップして5つの異なるIDを出力する方法はありますか?

私の現在のコードは次のとおりです。

#!/bin/sh

query=$(printf '%s' "$*" | tr ' ' '+')
channel=$(curl -s "https://vid.puffyan.us/search?q=$query" | grep -Eo "channel/.{24}" | head -n 1)

if [ -z "$query" ]
then
    echo "blank input!"
else
    curl -s "https://vid.puffyan.us/$channel" | grep -Eo "watch\?v=.{11}" | head -n 5
fi

ベストアンサー1

簡単な修正は次のとおりです。mdmay74出力をパイプしuniqて渡すだけですhead

例:

curl -s "https://vid.puffyan.us/$channel" | grep -Eo "watch\?v=.{11}" | uniq | head -n 5

おすすめ記事