Welche sed-Version ist nicht GNU sed 4.0?


12

Ich versuche herauszufinden, welche Version von sedBusyBox 1.18.3 ich habe. Die --versionAusgabe ist kryptisch.

$ sed --version
This is not GNU sed version 4.0

Der folgende Code stammt aus dem relevanten sed.c.

    /* Lie to autoconf when it starts asking stupid questions. */
if (argv[1] && !strcmp(argv[1], "--version")) {
    puts("This is not GNU sed version 4.0");
    return 0;
}

Dies ist der Header:

/*
 * sed.c - very minimalist version of sed
 *
 * Copyright (C) 1999,2000,2001 by Lineo, inc. and Mark Whitley
 * Copyright (C) 1999,2000,2001 by Mark Whitley <markw@codepoet.org>
 * Copyright (C) 2002  Matt Kraai
 * Copyright (C) 2003 by Glenn McGrath
 * Copyright (C) 2003,2004 by Rob Landley <rob@landley.net>
 *
 * MAINTAINER: Rob Landley <rob@landley.net>
 *
 * Licensed under GPLv2, see file LICENSE in this source tree.
 */

Es gibt auch eine Liste der "unterstützten Funktionen und Befehle in dieser Version von sed". Es sieht aus wie ein besonderes sed, aber wie ist es besonders? Ist es maßgeschneidert für BusyBox oder kommt es aus einer anderen Quelle?

Wie soll ich darauf verweisen sed, zB bei SE-Fragen?

Antworten:


8

BusyBox unterstützt seddas nicht wirklich --version. Wie aus dem Kommentar hervorgeht, ist die Ausgabe für das Konfigurieren von Skripten vorgesehen , nicht für Menschen. (Es ist für Menschen ziemlich verwirrend!) Beschreiben Sie es als BusyBox sed und geben Sie die Busybox-Version an (erhalten mit busybox | head -n 1).

Einige BusyBox-Befehle verfügen über optionale Funktionen, und es gibt keine generische Methode, um zu ermitteln, in welchen Befehlen sie kompiliert sedwurden.

Der Grund, warum BusyBox sed meldet, dass es nicht GNU sed ist, ist, dass es versucht, als GNU sed auszugeben, weil es ausreichend kompatibel ist. Einige Konfigurationsskripte suchen nach der Zeichenfolge GNU sed version nnn, und auf diese Weise ist BusyBox sed akzeptabel. Insbesondere musste das configure-Skript von GNU libc „mit einer Panzerfaust voller Glasscherben und rostiger Nägel in den Kopf geschossen“ werden (© Rob Landley).


1

Es ist eine benutzerdefinierte Version von sed, die für BusyBox geschrieben wurde. Ich würde von der BusyBox-Version, die Sie installiert haben, darauf verweisen, zB BusyBox sed v-whatever

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.