첫 번째 열이 반복되는 행을 가져오고 싶습니다(첫 번째 열에는 항상 32자가 있으므로 숫자 32를 사용합니다). 지금까지 내가 알아낸 것:
sort | uniq -d -w 32 filename
문제는 한 줄이 아닌 두 줄을 원한다는 것입니다. 예를 들어:
283158c7da8c0ada74502794fa8745eb ubuntu-6.10-alternate-amd64.iso
5717dd795bfd74edc2e9e81d37394349 ubuntu-6.10-alternate-i386.iso
5717dd795bfd74edc2e9e81d37394349 ubuntu-6.10-alternate-powerpc.iso
내가 원하는 출력은 다음과 같습니다.
5717dd795bfd74edc2e9e81d37394349 ubuntu-6.10-alternate-i386.iso
5717dd795bfd74edc2e9e81d37394349 ubuntu-6.10-alternate-powerpc.iso
아니요
5717dd795bfd74edc2e9e81d37394349 ubuntu-6.10-alternate-i386.iso
내가 얻은 것
답변1
노력하다
... | awk '{if ($1 in used ) {
if (used[$1] != "" ) print used[$1] ;
print ;} else used[$1]=$0 ;} '
답변2
펄 사용:
[...] | perl -lane 'grep(@F[1], @x)?print:push(@x, @F[1])'
% cat in
283158c7da8c0ada74502794fa8745eb ubuntu-6.10-alternate-amd64.iso
5717dd795bfd74edc2e9e81d37394349 ubuntu-6.10-alternate-i386.iso
5717dd795bfd74edc2e9e81d37394349 ubuntu-6.10-alternate-powerpc.iso
% cat in | perl -lane 'grep(@F[1], @x)?print:push(@x, @F[1])'
5717dd795bfd74edc2e9e81d37394349 ubuntu-6.10-alternate-i386.iso
5717dd795bfd74edc2e9e81d37394349 ubuntu-6.10-alternate-powerpc.iso