Phiên bản sed nào không phải là GNU sed 4.0?


12

Tôi đang cố gắng tìm ra phiên bản sedmà tôi đã có trên BusyBox 1.18.3. Đầu --versionra là khó hiểu.

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

Các mã sau đây là từ có liên quan 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;
}

Đây là tiêu đề:

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

Ngoài ra còn có một danh sách "các tính năng và lệnh được hỗ trợ trong phiên bản sed" này. Nó trông giống như một đặc biệt sed, nhưng nó đặc biệt như thế nào? Được tùy chỉnh cho BusyBox, hoặc nó đến từ một nguồn khác?

Làm thế nào tôi nên đề cập đến điều này sed, ví dụ như trong câu hỏi SE?

Câu trả lời:


8

BusyBox sedkhông thực sự hỗ trợ --version. Như bình luận chỉ ra, đầu ra được dành cho cấu hình các tập lệnh , không dành cho con người. (Thật khó hiểu với con người theo một cách khá ngớ ngẩn!) Mô tả nó là BusyBox sed chỉ phiên bản Busybox (thu được với busybox | head -n 1).

Một số lệnh BusyBox có các tính năng tùy chọn và không có cách chung nào để tìm ra lệnh nào được biên dịch. sedKhông có bất kỳ.

Về lý do tại sao BusyBox sed báo cáo rằng đó không phải là GNU sed, thực tế là nó đang cố gắng biến thành GNU sed vì nó tương thích đủ. Một số tập lệnh cấu hình tìm chuỗi GNU sed version nnnvà cách này BusyBox sed được chấp nhận. Cụ thể, tập lệnh cấu hình của GNU libc cần phải là [bắn] trong đầu với một bazooka đầy thủy tinh vỡ và đinh gỉ rỉ sét (© Rob Landley).


1

Đây là phiên bản tùy chỉnh của sed được viết cho BusyBox. Tôi sẽ đề cập đến nó bởi phiên bản BusyBox bạn đã cài đặt, .eg BusyBox sed v-anything

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.