Hangi sed sürümü GNU sed 4.0 değil?


12

Ben sedBusyBox 1.18.3 üzerinde hangi sürümü var anlamaya çalışıyorum . --versionÇıkış gizlenmiştir.

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

Aşağıdaki kod ilgili 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;
}

Bu başlık:

/*
 * 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.
 */

"Sed'in bu sürümünde desteklenen özellikler ve komutlar" listesi de vardır. Özel gibi görünüyor sed, ama nasıl özel? BusyBox için özel olarak mı yapılmış, yoksa başka bir kaynaktan mı geliyor?

Buna nasıl bakmalıyım sed, örneğin SE sorularında?

Yanıtlar:


8

BusyBox sedgerçekten desteklemiyor --version. Yorumda belirtildiği gibi, çıktı insanlar için değil komut dosyaları yapılandırmak için tasarlanmıştır . (İnsanlara oldukça aptalca bir şekilde kafa karıştırıcı!) Bunu BusyBox'ın Busybox sürümünü (elde edilen busybox | head -n 1) gösteren olarak tanımlayın .

Bazı BusyBox komutlarının isteğe bağlı özellikleri vardır ve hangilerinin derlendiğini bulmanın genel bir yolu yoktur sed.

Neden BusyBox sed'in GNU sed olmadığını bildirdiğine göre, asıl mesele, yeterince uyumlu olduğu için GNU sed olarak geçmeye çalıştığıdır. Bazı yapılandırma komut dosyaları dizeyi arar GNU sed version nnnve bu şekilde BusyBox sed kabul edilebilir. Özellikle, GNU libc yapılandırma komut dosyasının kafasında “kırık cam ve paslı çivilerle dolu bir bazuka ile” olması gerekiyordu (© Rob Landley).


1

BusyBox için yazılmış sed'in özel bir versiyonudur. Kurmuş olduğunuz BusyBox sürümü ile bunu söylerdim, .eg BusyBox sed v-whatever

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.