Marc Perkel <[email protected]> (So 12 Dez 2010 23:54:19 CET): > > > On 12/12/2010 2:40 PM, Heiko Schlittermann wrote: > > Marc Perkel<[email protected]> (So 12 Dez 2010 23:26:54 CET): > >>> in bash: > >>> > >>> $ cat test.txt | sort | uniq -c | while read line; do count=${line% *}; if
BTW, useless use of cat :-)
> >>> [ $count -ge 3 ]; then echo ${line/*$count /}; fi; done
> >>> four
> >>> three
> >>> $
> >>>
> >>> Cheers,
> >> Thanks but I'm getting "too many arguments" on
> >>
> >> [ $count -ge 3 ];
> > If you quote $count
> >
> > [ "$count" -ge 3 ]
> >
> > the error will disappear. But this would fix just the symptom, as any
> > line should have a count prepended.
> >
>
> Well - getting "integer expression expected" now. :(
For testing:
<test.txt sort | uniq -c | while read line; do count=${line% *}; echo
"$count : $line"; done
But the solution using grep is much more clean.
Or try this (it's what I was thinking about when I told you about the -c
option on uniq)
<test.txt sort | uniq -c | while read count line; do
[ $count -ge 2 ] && echo "$line"
done
--
Heiko :: dresden : linux : SCHLITTERMAN.de
GPG Key 48D0359B : 3061 CFBF 2D88 F034 E8D2 7E92 EE4E AC98 48D0 359B
signature.asc
Description: Digital signature
-- ## List details at http://lists.exim.org/mailman/listinfo/exim-users ## Exim details at http://www.exim.org/ ## Please use the Wiki with this list - http://wiki.exim.org/
