[geloest] sort +0 –1 +7 –8

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
bumer
Beiträge: 238
Registriert: 02.07.2014 12:29:15

[geloest] sort +0 –1 +7 –8

Beitrag von bumer » 30.01.2015 16:34:19

Hallo,

Ich kann mir das folgende sort-Kontrukt nicht erklären:

Code: Alles auswählen

sort +0 –1 +7 –8
Google und die Man-Page haben nicht geholfen und "info coreutils 'sort invocation'" ist mir, um ehrlich zu sein, zu lang.

Ich soll es so ausführen, kriege aber immer 'ne Fehlermeldung:

Code: Alles auswählen

ps -ef | sort +0 –1 +7 –8
sort: Öffnen fehlgeschlagen: +0: Datei oder Verzeichnis nicht gefunden
Kann mir bitte jemand helfen?

Danke,
bumer
Zuletzt geändert von bumer am 15.02.2015 12:11:44, insgesamt 1-mal geändert.

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: sort +0 –1 +7 –8

Beitrag von rendegast » 30.01.2015 17:23:51

Wo hast Du das Konstrukt denn her?

War vielleicht sowas gemeint?

Code: Alles auswählen

sort -k 2,5
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

bumer
Beiträge: 238
Registriert: 02.07.2014 12:29:15

Re: sort +0 –1 +7 –8

Beitrag von bumer » 30.01.2015 17:31:16

rendegast hat geschrieben:Wo hast Du das Konstrukt denn her?
Das ist ein Skript aus einem Lehrbuch:
http://openbook.rheinwerk-verlag.de/she ... 751F037172

Es handelt sich um das 2te Skript mit dem Titel "Prozesse nach User sortiert mit Instanzen ausgeben", genauer um den Anfang:

Code: Alles auswählen

PSPROG='/bin/ps -ef'
SORTPROG='/bin/sort +0 –1 +7 –8'
TMPFILE=/tmp/proclist_$$
# Beim ordentlichen Beenden TMPFILE wieder löschen
trap "/bin/rm -f $TMPFILE" EXIT
# Die aktuelle Prozessliste in TMPFILE speichern
#
$PSPROG | $SORTPROG > $TMPFILE
Die -k Option von sort ist mir bekannt. Ich wollte mich aber an das Skript halten.

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: sort +0 –1 +7 –8

Beitrag von rendegast » 30.01.2015 17:34:15

Aus dem info:
On older systems, `sort' supports an obsolete origin-zero syntax
`+POS1 [-POS2]' for specifying sort keys. The obsolete sequence `sort
+A.X -B.Y' is equivalent to `sort -k A+1.X+1,B' if Y is `0' or absent,
otherwise it is equivalent to `sort -k A+1.X+1,B+1.Y'.

This obsolete behavior can be enabled or disabled with the
`_POSIX2_VERSION' environment variable (*note Standards conformance::);
it can also be enabled when `POSIXLY_CORRECT' is not set by using the
obsolete syntax with `-POS2' present.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

newdeb
Beiträge: 134
Registriert: 03.02.2011 11:11:21
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Frankfurt

Re: sort +0 –1 +7 –8

Beitrag von newdeb » 30.01.2015 17:48:17

Und noch'n Beispiel dazu (s. https://www.gnu.org/software/coreutils/ ... mance.html):

Code: Alles auswählen

ps -ef | _POSIX2_VERSION=199209 sort  +0 -1 +7 -8
avahi      690     1  0 17:21 ?        00:00:00 avahi-daemon: running [kepler-ESPRIMO-E.local]
avahi      695   690  0 17:21 ?        00:00:00 avahi-daemon: chroot helper
colord    1882     1  0 17:22 ?        00:00:00 /usr/lib/colord/colord
...

Antworten