はAWKを使用していますか、非常に 不可解で、動作しない、と私はそれを動作させる 支援する任意の説明を提供していません。
コマンドを説明できる場合は、それは素晴らしいでしょう。私は sedを読んでみましたが、それはまだ非常に混乱しています。
awk '{arr[$1] = ($1 in arr ? arr[$1] "," : "") $2 }END{ for(i in arr)print i,arr[i] }' infile
説明:
awk '{
# arr is array, index being first field
# if array arr has key before ($1 in arr), then
# arr[$1] contains previously stored value arr[$1] plus comma
# and send field of line read
# otherwise, just second field of line read
arr[$1] = ($1 in arr ? arr[$1] "," : "") $2
}
END{
# loop through array arr
# print array key and value
for(i in arr)print i,arr[i]
}
' infile
試験結果:
$ cat infile
Hello1 aaa
Hello2 bbb
Hello1 ccc
Hello1 ddd
$ awk '{arr[$1] = ($1 in arr ? arr[$1] "," : "") $2 }END{ for(i in arr)print i,arr[i] }' infile
Hello1 aaa,ccc,ddd
Hello2 bbb
私はawkでこれを行う方法を知っています。私はsedで同等のコマンドを求めていました。 – Ashley
@Ashley:申し訳ありませんが私は間違っているかもしれません、AFAIKあなたも説明を求めました –
@Ashleyあなたもあなたのsed実験を表示することができれば、私は個人的にこれを行う方法を知りたい –