[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#373704: sort -k does not count fields the same as gnu sort



Package: busybox
Version: 1:1.1.3-1
Severity: normal
Tags: d-i

joey@kodama:~>cat foo
/usr/lib/finish-install.d/1
/usr/lib/prebaseconfig.d/2
/usr/lib/finish-install.d/4
/usr/lib/prebaseconfig.d/6
joey@kodama:~>for n in 3 4 5; do echo busybox $n; busybox sort -n -k$n -t/ foo; echo gnu $n; sort -n -k$n -t/ foo;done
busybox 3
/usr/lib/finish-install.d/1
/usr/lib/finish-install.d/4
/usr/lib/prebaseconfig.d/2
/usr/lib/prebaseconfig.d/6
gnu 3
/usr/lib/finish-install.d/1
/usr/lib/finish-install.d/4
/usr/lib/prebaseconfig.d/2
/usr/lib/prebaseconfig.d/6
busybox 4
/usr/lib/finish-install.d/1
/usr/lib/prebaseconfig.d/2
/usr/lib/finish-install.d/4
/usr/lib/prebaseconfig.d/6
gnu 4
/usr/lib/finish-install.d/1
/usr/lib/finish-install.d/4
/usr/lib/prebaseconfig.d/2
/usr/lib/prebaseconfig.d/6
busybox 5
/usr/lib/finish-install.d/1
/usr/lib/finish-install.d/4
/usr/lib/prebaseconfig.d/2
/usr/lib/prebaseconfig.d/6
gnu 5
/usr/lib/finish-install.d/1
/usr/lib/prebaseconfig.d/2
/usr/lib/finish-install.d/4
/usr/lib/prebaseconfig.d/6

So, busybox sorts them numerically at field 4, while gnu does at
field 5. I think gnu must count field 1 as the zero-width field before the
first delimeter in this case. If the lines don't start with the delimiter,
gnu and busybox both behave the same:

busybox 4
root/usr/lib/finish-install.d/1
root/usr/lib/finish-install.d/4
root/usr/lib/prebaseconfig.d/2
root/usr/lib/prebaseconfig.d/6
gnu 4
root/usr/lib/finish-install.d/1
root/usr/lib/finish-install.d/4
root/usr/lib/prebaseconfig.d/2
root/usr/lib/prebaseconfig.d/6
busybox 5
root/usr/lib/finish-install.d/1
root/usr/lib/prebaseconfig.d/2
root/usr/lib/finish-install.d/4
root/usr/lib/prebaseconfig.d/6
gnu 5
root/usr/lib/finish-install.d/1
root/usr/lib/prebaseconfig.d/2
root/usr/lib/finish-install.d/4
root/usr/lib/prebaseconfig.d/6

-- System Information:
Debian Release: testing/unstable
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.16-2-686
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)

Versions of packages busybox depends on:
ii  libc6                         2.3.6-15   GNU C Library: Shared libraries

busybox recommends no packages.

-- no debconf information

-- 
see shy jo

Attachment: signature.asc
Description: Digital signature


Reply to: