2つのフィールドを持つ複数のリストがあります。最初のフィールドにはURLが含まれ、2番目のフィールドにはEメールアドレス(アカウント)が含まれています。 2番目のフィールドは、リスト内のすべての項目について同じです。
このリストを1つのリストにリンクし、最初のフィールドに基づいてソートします。ほとんどのアイテムは一意ですが、一部のアイテムは重複またはトリプルアイテムです(たとえば、URLは複数のアカウントのリストにあります)。
必要に応じて2番目のフィールドがアカウントリストになるように重複エントリを結合するために使用できるコマンドまたはスクリプトはありますか?
たとえば、 URL 1 アカウント 2 URL2アカウント1 url3アカウント1 url3アカウント2 url4アカウント2 url4アカウント3 url4アカウント5 ... 次のようにする必要があります。 URL 1 アカウント 2 URL2アカウント1 url3アカウント1アカウント2 url4アカウント2アカウント3アカウント5 ...
ベストアンサー1
ベルトsort
+awk
パイプ:
sort -k1,1 file \
| awk 'url && $1 != url{ print url, acc }
{ acc = ($1 == url? acc FS:"") $2; url = $1 }END{ print url, acc }' OFS='\t'
出力例:
url1 acct2
url2 acct1
url3 acct1 acct2
url4 acct2 acct3 acct5