Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
-
bumer
- Beiträge: 238
- Registriert: 02.07.2014 12:29:15
Beitrag
von bumer » 30.01.2015 16:34:19
Hallo,
Ich kann mir das folgende sort-Kontrukt nicht erklären:
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
Beitrag
von rendegast » 30.01.2015 17:23:51
Wo hast Du das Konstrukt denn her?
War vielleicht sowas gemeint?
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
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
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
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
...