Tiếng AnhTiếng PhápTiếng Tây Ban Nha

Ad


Biểu tượng yêu thích OnWorks

edposix - Trực tuyến trên đám mây

Chạy edposix trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks qua Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình mô phỏng trực tuyến MAC OS

Đây là lệnh edposix có thể được chạy trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks bằng cách sử dụng một trong nhiều máy trạm trực tuyến miễn phí của chúng tôi như Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình giả lập trực tuyến MAC OS

CHƯƠNG TRÌNH:

TÊN


ed - chỉnh sửa văn bản

SYNOPSIS


ed [−p chuỗi] [−s] [hồ sơ]

MÔ TẢ


Sản phẩm ed tiện ích là một trình soạn thảo văn bản hướng dòng sử dụng hai chế độ: lệnh chế độđầu vào
chế độ. Trong chế độ lệnh, các ký tự đầu vào sẽ được hiểu là lệnh và đầu vào
chúng sẽ được hiểu là văn bản. Xem phần MÔ TẢ MỞ RỘNG.

Nếu một toán hạng là '-', kết quả không xác định.

LỰA CHỌN


Sản phẩm ed tiện ích sẽ phù hợp với khối lượng Định nghĩa cơ sở của POSIX.1‐2008, Phần 12.2,
Tiện ích cú pháp Hướng dẫn, ngoại trừ việc sử dụng không xác định '-'.

Các tùy chọn sau sẽ được hỗ trợ:

−p chuỗi Sử dụng chuỗi dưới dạng chuỗi nhắc khi ở chế độ lệnh. Theo mặc định, sẽ có
không có chuỗi nhắc nhở.

−s Ngăn chặn việc ghi số byte bằng cách e, E, rw lệnh và của '!'
nhắc nhở sau khi a!lệnh.

TOÁN HẠNG


Toán hạng sau sẽ được hỗ trợ:

hồ sơ Nếu hồ sơ đối số được đưa ra, ed sẽ mô phỏng một e lệnh trên tệp có tên
theo tên đường dẫn, hồ sơ, trước khi chấp nhận các lệnh từ đầu vào chuẩn.

STDIN


Đầu vào tiêu chuẩn phải là một tệp văn bản bao gồm các lệnh, như được mô tả trong
PHẦN MÔ TẢ MỞ RỘNG.

ĐẦU VÀO CÁC TẬP TIN


Các tệp đầu vào sẽ là tệp văn bản.

MÔI TRƯỜNG BIẾN


Các biến môi trường sau đây sẽ ảnh hưởng đến việc thực hiện ed:

TRANG CHỦ Xác định tên đường dẫn của thư mục chính của người dùng.

NGÔN NGỮ Cung cấp giá trị mặc định cho các biến quốc tế hóa chưa được đặt hoặc
vô giá trị. (Xem tập Định nghĩa cơ bản của POSIX.1‐2008, Phần 8.2,
quốc tế hóa Biến ưu tiên quốc tế hóa
các biến được sử dụng để xác định giá trị của danh mục ngôn ngữ.)

LC_ALL Nếu được đặt thành giá trị chuỗi không trống, hãy ghi đè giá trị của tất cả các chuỗi khác
các biến quốc tế hóa.

LC_THU THẬP
Xác định ngôn ngữ cho hành vi của các phạm vi, các lớp tương đương và đa
các phần tử đối chiếu ký tự trong biểu thức chính quy.

LC_CTYPE Xác định ngôn ngữ để diễn giải chuỗi byte dữ liệu văn bản
dưới dạng ký tự (ví dụ: byte đơn trái ngược với ký tự nhiều byte trong
đối số và tệp đầu vào) và hành vi của các lớp ký tự trong
biểu thức.

LC_MESSAGES
Xác định ngôn ngữ sẽ được sử dụng để ảnh hưởng đến định dạng và nội dung của
thông báo chẩn đoán được viết thành lỗi tiêu chuẩn và thông báo thông tin được viết
đến đầu ra tiêu chuẩn.

NLSPATH Xác định vị trí của danh mục thư để xử lý LC_MESSAGES.

BẤT NGỜ SỰ KIỆN


Sản phẩm ed tiện ích sẽ thực hiện hành động tiêu chuẩn cho tất cả các tín hiệu (xem SỰ KIỆN CẦN THIẾT
phần trong Phần 1.4, Tiện ích Mô tả Mặc định) với các ngoại lệ sau:

SIGINT ed tiện ích sẽ làm gián đoạn hoạt động hiện tại của nó, hãy viết chuỗi "?\n" đến
đầu ra tiêu chuẩn và quay lại chế độ lệnh (xem MÔ TẢ MỞ RỘNG
phần).

SIGHUP Nếu bộ đệm không trống và đã thay đổi kể từ lần ghi cuối cùng, ed tiện ích
sẽ cố gắng ghi một bản sao của bộ đệm vào một tệp. Đầu tiên, tệp có tên
ed.hup trong thư mục hiện tại sẽ được sử dụng; nếu không thành công, tệp có tên
ed.hup trong thư mục được đặt tên bởi TRANG CHỦ biến môi trường sẽ được sử dụng. Trong
bất kỳ trường hợp nào, ed tiện ích sẽ thoát mà không ghi tệp vào hiện tại
đã nhớ tên đường dẫn và không cần quay lại chế độ lệnh.

SIGQUIT ed tiện ích sẽ bỏ qua sự kiện này.

GIỚI THIỆU


Các lệnh chỉnh sửa khác nhau và tính năng nhắc nhở (xem −p) ghi vào đầu ra tiêu chuẩn, như
được mô tả trong phần MÔ TẢ MỞ RỘNG.

STDERR


Lỗi chuẩn chỉ được sử dụng cho các thông báo chẩn đoán.

OUTPUT CÁC TẬP TIN


Các tệp đầu ra phải là tệp văn bản có định dạng phụ thuộc vào các lệnh chỉnh sửa
được.

ĐA THẾ HỆ MÔ TẢ


Sản phẩm ed tiện ích sẽ hoạt động trên một bản sao của tệp mà nó đang chỉnh sửa; những thay đổi được thực hiện đối với bản sao
sẽ không có hiệu lực đối với tệp cho đến khi w (ghi) lệnh được đưa ra. Bản sao của văn bản
được gọi là đệm.

Lệnh cho ed có cấu trúc đơn giản và thông thường: không, một hoặc hai địa chỉ sau
bởi một ký tự đơn lệnh, có thể theo sau là các tham số cho lệnh đó. Này
địa chỉ chỉ định một hoặc nhiều dòng trong bộ đệm. Mọi lệnh yêu cầu địa chỉ
có địa chỉ mặc định, do đó các địa chỉ thường có thể bị bỏ qua. Nếu −p tùy chọn
được chỉ định, chuỗi dấu nhắc sẽ được ghi vào đầu ra tiêu chuẩn trước mỗi lệnh
đọc.

Nói chung, chỉ một lệnh có thể xuất hiện trên một dòng. Một số lệnh nhất định cho phép văn bản được
đầu vào. Văn bản này được đặt ở vị trí thích hợp trong bộ đệm. Trong khi ed đang chấp nhận
văn bản, nó được cho là trong đầu vào chế độ. Trong chế độ này, không có lệnh nào được nhận dạng; tất cả
đầu vào chỉ được thu thập. Chế độ đầu vào được kết thúc bằng cách nhập một dòng bao gồm hai
ký tự: a ('.') Theo sau là một . Dòng này không được coi là một phần
của văn bản đầu vào.

Đều đặn Biểu thức in ed
Sản phẩm ed tiện ích sẽ hỗ trợ các biểu thức chính quy cơ bản, như được mô tả trong Cơ sở
Khối lượng định nghĩa của POSIX.1‐2008, Phần 9.3, Cơ bản Đều đặn Biểu thức. Kể từ khi thường xuyên
biểu thức trong ed luôn được so khớp với các dòng đơn (không bao gồm phần cuối
ký tự), không bao giờ chống lại bất kỳ phần văn bản lớn hơn nào, không có cách nào cho một
biểu thức chính quy để khớp với một .

RE rỗng sẽ tương đương với RE cuối cùng gặp phải.

Biểu thức chính quy được sử dụng trong địa chỉ để chỉ định dòng và trong một số lệnh (đối với
ví dụ s lệnh thay thế) để chỉ định các phần của một dòng được thay thế.

Địa chỉ in ed
Địa chỉ trong ed liên quan đến dòng hiện tại. Nói chung, dòng hiện tại là dòng cuối cùng
bị ảnh hưởng bởi một lệnh. Số dòng hiện tại là địa chỉ của dòng hiện tại. Nếu
bộ đệm chỉnh sửa không trống, giá trị ban đầu cho dòng hiện tại sẽ là dòng cuối cùng trong
bộ đệm chỉnh sửa; ngược lại, bằng không.

Địa chỉ sẽ được xây dựng như sau:

1. Sự tính cách ('.') sẽ giải quyết dòng hiện tại.

2. Các tính cách ('$') sẽ giải quyết dòng cuối cùng của bộ đệm chỉnh sửa.

3. Số thập phân dương n sẽ giải quyết ndòng thứ của bộ đệm chỉnh sửa.

4. Các cặp ký tự -x ("x") sẽ giải quyết dòng được đánh dấu bằng dấu
tên nhân vật x, sẽ là một ký tự viết thường từ bộ ký tự di động.
Sẽ là một lỗi nếu ký tự không được đặt để đánh dấu một dòng hoặc nếu dòng
mà đã được đánh dấu hiện không có trong bộ đệm chỉnh sửa.

5. A BRE kèm theo nhân vật ('/') sẽ giải quyết dòng đầu tiên được tìm thấy bởi
tìm kiếm chuyển tiếp từ dòng sau dòng hiện tại về cuối bản chỉnh sửa
đệm và dừng ở dòng đầu tiên mà dòng không bao gồm phần cuối
khớp với BRE. BRE bao gồm một BRE rỗng được giới hạn bởi một cặp
các ký tự sẽ đề cập đến dòng tiếp theo mà dòng không bao gồm
chấm dứt khớp với BRE cuối cùng gặp phải. Ngoài ra, thứ hai
có thể được bỏ qua ở cuối dòng lệnh. Trong BRE, a
- cặp ("\ /") sẽ đại diện cho một chữ thay vì BRE
dấu phân cách. Nếu cần, việc tìm kiếm sẽ bao quanh phần đầu của bộ đệm
và tiếp tục lên đến và bao gồm cả dòng hiện tại, để toàn bộ bộ đệm
đã tìm kiếm.

6. A BRE kèm theo nhân vật ('?') sẽ giải quyết dòng đầu tiên được tìm thấy
bằng cách tìm kiếm ngược từ dòng trước dòng hiện tại về phía đầu
của bộ đệm chỉnh sửa và dừng ở dòng đầu tiên mà dòng không bao gồm
chấm dứt khớp với BRE. BRE bao gồm một BRE rỗng được giới hạn bởi một
cặp nhân vật ("??") sẽ giải quyết dòng trước mà
dòng không bao gồm dấu chấm hết khớp với BRE cuối cùng gặp phải. Trong
ngoài ra, thứ hai có thể được bỏ qua ở cuối dòng lệnh.
Trong BRE, a - cặp ("\?") sẽ đại diện cho một chữ
thay vì dấu phân cách BRE. Nếu cần thiết, việc tìm kiếm sẽ kết thúc
xung quanh phần cuối của bộ đệm và tiếp tục lên đến và bao gồm cả dòng hiện tại, vì vậy
rằng toàn bộ bộ đệm được tìm kiếm.

7. A ('+') hoặc là tính cách ('-') theo sau là một số thập phân sẽ
địa chỉ dòng hiện tại cộng hoặc trừ số. MỘT hoặc là tính cách
không theo sau một số thập phân sẽ giải quyết dòng hiện tại cộng hoặc trừ 1.

Các địa chỉ có thể được theo sau bằng XNUMX hoặc nhiều khoảng cách địa chỉ, tùy chọn -ly thân.
Hiệu số địa chỉ được xây dựng như sau:

* MỘT hoặc là ký tự theo sau bởi một số thập phân sẽ thêm hoặc
trừ đi, tương ứng, số dòng được chỉ định đến hoặc từ địa chỉ. MỘT
ký> hoặc ký tự không được theo sau bởi một số thập phân sẽ cộng hoặc trừ 1
đến hoặc từ địa chỉ.

* Một số thập phân sẽ thêm số dòng được chỉ định vào địa chỉ.

Sẽ không có lỗi khi giá trị địa chỉ trung gian nhỏ hơn XNUMX hoặc lớn hơn
so với dòng cuối cùng trong bộ đệm chỉnh sửa. Sẽ là một lỗi đối với giá trị địa chỉ cuối cùng
nhỏ hơn XNUMX hoặc lớn hơn dòng cuối cùng trong bộ đệm chỉnh sửa. Nó sẽ là một lỗi
nếu tìm kiếm BRE không tìm thấy dòng phù hợp.

Các lệnh chấp nhận không, một hoặc hai địa chỉ. Nếu nhiều hơn số lượng địa chỉ yêu cầu
được cung cấp cho một lệnh yêu cầu địa chỉ không, nó sẽ là một lỗi. Nếu không thì,
nếu nhiều hơn số lượng địa chỉ cần thiết được cung cấp cho một lệnh, các địa chỉ
quy định đầu tiên phải được đánh giá và sau đó loại bỏ cho đến khi số lượng tối đa của giá trị hợp lệ
địa chỉ vẫn còn, cho lệnh được chỉ định.

Các địa chỉ sẽ được phân tách với nhau bằng một (',') hoặc là tính cách
(';'). Trong trường hợp của một dấu phân cách, dòng hiện tại ('.') sẽ được đặt thành
địa chỉ đầu tiên và chỉ sau đó địa chỉ thứ hai mới được tính toán. Tính năng này có thể
được sử dụng để xác định dòng bắt đầu cho các tìm kiếm chuyển tiếp và ngược lại; xem quy tắc 5.
và 6.

Địa chỉ có thể được bỏ qua ở một trong hai bên của hoặc là dấu phân cách, trong đó
trường hợp các cặp địa chỉ kết quả sẽ như sau:

┌───────────┬──────────────┐
Xác địnhKết quả
├───────────┼──────────────┤
│, │ 1, $ │
│, addr │ 1, addr │
│addr, │ addr, addr │
; │. ; $ │
; addr │. ; addr │
│addr; │ addr; addr │
└───────────┴──────────────┘
Bất kì các ký tự được bao gồm giữa các địa chỉ, dấu phân tách địa chỉ hoặc khoảng cách địa chỉ
sẽ được bỏ qua.

Lệnh in ed
Trong danh sách sau đây của ed các lệnh, các địa chỉ mặc định được hiển thị trong dấu ngoặc đơn. Các
số lượng địa chỉ được hiển thị trong mặc định sẽ là số lượng mong đợi của lệnh. Các
dấu ngoặc đơn không phải là một phần của địa chỉ; chúng cho thấy rằng các địa chỉ đã cho là
mặc định.

Nói chung, nhiều hơn một lệnh xuất hiện trên một dòng là không hợp lệ. Tuy nhiên, bất kỳ
lệnh (ngoại trừ e, E, f, q, Q, r, w!) có thể được tiếp nối bằng chữ cái l, n, hoặc là p; trong
trường hợp nào, ngoại trừ l, np lệnh, lệnh sẽ được thực hiện và sau đó
dòng hiện tại mới sẽ được viết như mô tả bên dưới l, np lệnh.
Khi một l, n, hoặc là p hậu tố được sử dụng với một l, n, hoặc là p lệnh, lệnh sẽ ghi vào
đầu ra tiêu chuẩn như được mô tả bên dưới, nhưng không xác định được liệu hậu tố có viết
dòng hiện tại lại ở định dạng được yêu cầu hoặc liệu hậu tố không có hiệu lực. Vì
ví dụ pl lệnh (cơ sở p ra lệnh với một l hậu tố) sẽ chỉ viết
dòng hiện tại hoặc viết nó hai lần — một lần như được chỉ định cho p và một lần như được chỉ định cho l. Ngoài ra,
các g, G, vV lệnh sẽ nhận một lệnh làm tham số.

Mỗi thành phần địa chỉ có thể được đặt trước bằng XNUMX hoặc nhiều hơn nhân vật. Lệnh
chữ cái có thể được bắt đầu bằng XNUMX hoặc nhiều hơn nhân vật. Nếu một chữ cái có hậu tố (l, n, hoặc là p)
được đưa ra, ứng dụng sẽ đảm bảo rằng nó ngay lập tức tuân theo lệnh.

Sản phẩm e, E, f, rw các lệnh sẽ có tùy chọn hồ sơ tham số, được phân tách từ
thư lệnh của một hoặc nhiều nhân vật.

Nếu các thay đổi đã được thực hiện trong bộ đệm kể từ lần cuối cùng w lệnh đã viết toàn bộ
đệm, ed sẽ cảnh báo người dùng nếu có nỗ lực phá hủy bộ đệm biên tập viên thông qua
e or q các lệnh. Các ed tiện ích sẽ viết chuỗi:

"?\n"

(theo sau là một thông báo giải thích nếu giúp đỡ chế độ đã được kích hoạt thông qua H lệnh) để
đầu ra tiêu chuẩn và sẽ tiếp tục ở chế độ lệnh với số dòng hiện tại không thay đổi.
Nếu e or q lệnh được lặp lại mà không có lệnh can thiệp, lệnh đó sẽ có hiệu lực.

Nếu ngắt kết nối thiết bị đầu cuối (xem phần Định nghĩa cơ bản của POSIX.1‐2008, Chương 11,
Tổng Quát Thiết bị đầu cuối Giao thức, Ngắt kết nối Modem và Đóng Thiết bị Đầu cuối), được phát hiện:

* Nếu đi kèm với tín hiệu SIGHUP, ed tiện ích sẽ hoạt động như được mô tả trong
Phần SỰ KIỆN HẤP DẪN dành cho tín hiệu SIGHUP.

* Nếu không đi kèm với tín hiệu SIGHUP, ed tiện ích sẽ hoạt động như thể một phần cuối của tệp
đã được phát hiện trên đầu vào tiêu chuẩn.

Nếu phần cuối của tệp được phát hiện trên đầu vào chuẩn:

* Nếu ed tiện ích đang ở chế độ đầu vào, ed sẽ kết thúc chế độ đầu vào và trở về
chế độ lệnh. Không xác định được nếu có bất kỳ dòng nào được nhập một phần (nghĩa là văn bản đầu vào
không có chấm dứt ) bị loại bỏ khỏi văn bản đầu vào.

* Nếu ed tiện ích đang ở chế độ lệnh, nó sẽ hoạt động như thể một q lệnh đã được nhập.

Nếu dấu phân cách đóng của một RE hoặc của một chuỗi thay thế (ví dụ: '/') trong một g, G,
s, v, hoặc là V lệnh sẽ là ký tự cuối cùng trước một , dấu phân cách đó có thể là
bỏ qua, trong trường hợp đó dòng địa chỉ sẽ được viết. Ví dụ, sau đây
các cặp lệnh tương đương nhau:

s / s1 / s2 s / s1 / s2 / p
g / s1 g / s1 / p
? s1 ? s1?

Nếu một lệnh không hợp lệ được nhập, ed sẽ viết chuỗi:

"?\n"

(theo sau là một thông báo giải thích nếu giúp đỡ chế độ đã được kích hoạt thông qua H lệnh) để
đầu ra tiêu chuẩn và sẽ tiếp tục ở chế độ lệnh với số dòng hiện tại không thay đổi.

Nối Lệnh
toát yếu:
(.)Một
<văn bản>
.

Sản phẩm a lệnh sẽ đọc văn bản đã cho và nối nó vào sau dòng được đánh địa chỉ; các
số dòng hiện tại sẽ trở thành địa chỉ của dòng được chèn cuối cùng hoặc, nếu có
không, dòng địa chỉ. Địa chỉ 0 sẽ hợp lệ cho lệnh này; nó sẽ gây ra
văn bản nối được đặt ở đầu vùng đệm.

Thay đổi Lệnh
toát yếu:
(.,.)C
<văn bản>
.

Sản phẩm c lệnh sẽ xóa các dòng được đánh địa chỉ, sau đó chấp nhận văn bản đầu vào thay thế các dòng này
các dòng; dòng hiện tại sẽ được đặt thành địa chỉ của đầu vào dòng cuối cùng; hoặc, nếu có
không có, ở dòng sau khi dòng cuối cùng bị xóa; nếu những dòng bị xóa ban đầu là
ở cuối bộ đệm, số dòng hiện tại sẽ được đặt thành địa chỉ của dòng mới
dòng cuối cùng; nếu không có dòng nào vẫn còn trong bộ đệm, số dòng hiện tại sẽ được đặt bằng không.
Địa chỉ 0 sẽ hợp lệ cho lệnh này; nó sẽ được hiểu như thể địa chỉ 1 là
được chỉ định.

Xóa bỏ Lệnh
toát yếu:
(.,.) d

Sản phẩm d lệnh sẽ xóa các dòng được đánh địa chỉ khỏi bộ đệm. Địa chỉ của dòng
sau khi dòng cuối cùng bị xóa sẽ trở thành số dòng hiện tại; nếu các dòng bị xóa
ban đầu nằm ở cuối bộ đệm, số dòng hiện tại sẽ được đặt thành
địa chỉ của dòng cuối cùng mới; nếu không có dòng nào vẫn còn trong bộ đệm, số dòng hiện tại
sẽ được đặt thành không.

Chỉnh sửa Lệnh
toát yếu:
e [hồ sơ]

Sản phẩm e lệnh sẽ xóa toàn bộ nội dung của bộ đệm và sau đó đọc trong tệp
được đặt tên theo tên đường dẫn hồ sơ. Số dòng hiện tại sẽ được đặt thành địa chỉ của
dòng cuối cùng của bộ đệm. Nếu không có tên đường dẫn nào được cung cấp, tên đường dẫn hiện được nhớ, nếu
bất kỳ, sẽ được sử dụng (xem f yêu cầu). Số byte được đọc sẽ được ghi vào
đầu ra tiêu chuẩn, trừ khi −s tùy chọn đã được chỉ định, ở định dạng sau:

"% d \ n", <con số of byte đọc>

Tên hồ sơ sẽ được ghi nhớ để có thể sử dụng làm tên đường dẫn mặc định sau này e,
E, rw các lệnh. Nếu như hồ sơ được thay thế bởi '!', phần còn lại của dòng sẽ được đưa đến
là một dòng lệnh shell có đầu ra được đọc. Một dòng lệnh shell như vậy sẽ không
nhớ như hiện tại hồ sơ. Tất cả các nhãn hiệu sẽ bị loại bỏ sau khi hoàn thành một
thành công e yêu cầu. Nếu bộ đệm đã thay đổi kể từ lần cuối cùng toàn bộ bộ đệm là
bằng văn bản, người dùng sẽ được cảnh báo, như đã mô tả trước đây.

Chỉnh sửa Nếu không có Kiểm tra Lệnh
toát yếu:
E [hồ sơ]

Sản phẩm E lệnh sẽ có tất cả các thuộc tính và hạn chế của e lệnh ngoại trừ điều đó
người biên tập sẽ không kiểm tra xem liệu có bất kỳ thay đổi nào đã được thực hiện đối với bộ đệm kể từ khi
cuối cùng w chỉ huy.

Tên tập tin Lệnh
toát yếu:
f [hồ sơ]

If hồ sơ được đưa ra, f lệnh sẽ thay đổi tên đường dẫn hiện đang nhớ thành hồ sơ;
cho dù tên có được thay đổi hay không, thì nó sẽ viết (có thể là mới) hiện tại
tên đường dẫn được nhớ đến đầu ra tiêu chuẩn ở định dạng sau:

"% s \ n", <tên đường dẫn>

Số dòng hiện tại sẽ không thay đổi.

Toàn cầu Lệnh
toát yếu:
(1, $) g /RE/lệnh

Trong tạp chí g lệnh, bước đầu tiên sẽ là đánh dấu mọi dòng mà dòng đó không bao gồm
sự kết thúc khớp với RE đã cho. Sau đó, đi tuần tự từ
đầu tệp đến cuối tệp, lệnh sẽ được thực hiện cho
mỗi dòng được đánh dấu, với số dòng hiện tại được đặt thành địa chỉ của dòng đó. Bất kỳ dòng nào
sửa đổi bởi lệnh sẽ được bỏ đánh dấu. Khi mà g lệnh hoàn thành, hiện tại
số dòng phải có giá trị được gán bởi lệnh cuối cùng trong lệnh . Nếu
không có dòng phù hợp, số dòng hiện tại sẽ không được thay đổi. Một đơn
lệnh hoặc lệnh đầu tiên của danh sách lệnh sẽ xuất hiện trên cùng một dòng với toàn cục
yêu cầu. Tất cả các dòng của danh sách nhiều dòng ngoại trừ dòng cuối cùng sẽ được kết thúc bằng
trước khi kết thúc ; các a, ic lệnh và liên kết
đầu vào được cho phép. Các '.' chế độ đầu vào kết thúc có thể bị bỏ qua nếu nó là
dòng cuối cùng của lệnh . Trống rỗng lệnh sẽ tương đương với p chỉ huy.
Việc sử dụng các g, G, v, V! lệnh trong lệnh tạo ra kết quả không xác định.
Bất kỳ ký tự nào khác ngoài hoặc là có thể được sử dụng thay vì một để phân định
ở đó. Trong RE, chính dấu phân cách RE có thể được sử dụng như một ký tự chữ nếu nó là
đứng trước một .

Interactive Toàn cầu Lệnh
toát yếu:
(1, $) G /RE/

Trong tạp chí G lệnh, bước đầu tiên sẽ là đánh dấu mọi dòng mà dòng đó không bao gồm
sự kết thúc khớp với RE đã cho. Sau đó, đối với mỗi dòng như vậy, dòng đó sẽ
được viết, số dòng hiện tại sẽ được đặt thành địa chỉ của dòng đó, và bất kỳ
lệnh (khác với một trong các lệnh a, c, i, g, G, vV lệnh) sẽ được đọc và
Thực thi. MỘT sẽ hoạt động như một lệnh rỗng (khiến không có hành động nào được thực hiện trên
dòng hiện tại); một '&' sẽ thực hiện lại lệnh không null gần đây nhất
được thực thi trong lời gọi hiện tại của G. Lưu ý rằng các lệnh đầu vào như một phần của
thực hiện G lệnh có thể giải quyết và ảnh hưởng đến bất kỳ dòng nào trong bộ đệm. Bất kỳ dòng nào
được sửa đổi bởi lệnh sẽ không được đánh dấu. Giá trị cuối cùng của số dòng hiện tại
sẽ là giá trị được đặt bởi lệnh cuối cùng được thực hiện thành công. (Lưu ý rằng cuối cùng
lệnh được thực hiện thành công sẽ là G lệnh của chính nó nếu một lệnh không thành công hoặc null
lệnh được chỉ định.) Nếu không có dòng phù hợp, số dòng hiện tại sẽ không
bị thay đổi. Các G lệnh có thể được kết thúc bằng tín hiệu SIGINT. Bất kỳ ký tự nào khác ngoài
hoặc là có thể được sử dụng thay vì một để phân định RE và
sự thay thế. Trong RE, chính dấu phân cách RE có thể được sử dụng như một ký tự chữ nếu
nó đứng trước một .

Trợ giúp Lệnh
toát yếu:
h

Sản phẩm h lệnh sẽ viết một thông báo ngắn đến đầu ra tiêu chuẩn giải thích lý do
gần đây nhất '?' thông báo. Số dòng hiện tại sẽ không thay đổi.

Trợ giúp-Chế độ Lệnh
toát yếu:
H

Sản phẩm H lệnh sẽ gây ra ed để vào một chế độ trong đó thông báo trợ giúp (xem h chỉ huy)
sẽ được ghi vào đầu ra tiêu chuẩn cho tất cả các '?' các thông báo. Các H lệnh
luân phiên sẽ bật và tắt chế độ này; ban đầu nó tắt. Nếu chế độ trợ giúp là
được bật, H lệnh cũng giải thích trước '?' thông báo, nếu có
một. Số dòng hiện tại sẽ không thay đổi.

Chèn Lệnh
toát yếu:
(.)tôi
<văn bản>
.

Sản phẩm i lệnh sẽ chèn văn bản đã cho trước dòng được đánh địa chỉ; dòng hiện tại là
đặt thành dòng được chèn cuối cùng hoặc, nếu không có, thành dòng được đánh địa chỉ. Lệnh này
khác với a chỉ lệnh ở vị trí của văn bản đầu vào. Địa chỉ 0 sẽ là
hợp lệ cho lệnh này; nó sẽ được hiểu như thể địa chỉ 1 đã được chỉ định.

Tham gia Lệnh
toát yếu:
(.,. + 1) j

Sản phẩm j lệnh sẽ nối các dòng liền kề bằng cách loại bỏ
nhân vật. Nếu chính xác một địa chỉ được cung cấp, lệnh này sẽ không có tác dụng gì. Nếu dòng là
đã nối, số dòng hiện tại sẽ được đặt thành địa chỉ của dòng đã nối; nếu không thì,
số dòng hiện tại sẽ không thay đổi.

Đánh dấu Lệnh
toát yếu:
(.) kx

Sản phẩm k lệnh sẽ đánh dấu dòng địa chỉ bằng tên x, ứng dụng sẽ
ensure là một ký tự viết thường từ bộ ký tự di động. Địa chỉ "x" sau đó sẽ
tham khảo dòng này; số dòng hiện tại sẽ không thay đổi.

Danh sách Lệnh
toát yếu:
(.,.) l

Sản phẩm l lệnh sẽ ghi vào đầu ra tiêu chuẩn các dòng được đánh địa chỉ một cách trực quan rõ ràng
hình thức. Các ký tự được liệt kê trong tập Định nghĩa cơ sở của POSIX.1‐2008, Bàn 5-1,
trốn thoát Trình tự Liên kết Hoạt động ('\\', '\Một', '\NS', '\NS', '\NS', '\NS', '\ v') nên
được viết dưới dạng trình tự thoát tương ứng; các '\n' trong bảng đó không được áp dụng.
Các ký tự không in được không có trong bảng sẽ được viết dưới dạng một số bát phân có ba chữ số
(với phần trước ký tự) cho mỗi byte trong ký tự (quan trọng nhất
byte đầu tiên).

Các đường dài sẽ được gấp lại, với điểm gấp được biểu thị bằng đứng trước một
; độ dài mà tại đó xảy ra gấp là không xác định, nhưng phải phù hợp
cho thiết bị đầu ra. Cuối mỗi dòng phải được đánh dấu '$''$' nhân vật
trong văn bản sẽ được viết với một . Một l lệnh có thể được
được thêm vào bất kỳ lệnh nào khác ngoài e, E, f, q, Q, r, w, hoặc là !. Dòng hiện tại
số sẽ được đặt thành địa chỉ của dòng cuối cùng được viết.

Di chuyển Lệnh
toát yếu:
(.,.) mđịa chỉ

Sản phẩm m lệnh sẽ định vị lại các dòng được đánh địa chỉ sau dòng được giải quyết bởi địa chỉ.
Địa chỉ 0 sẽ có giá trị đối với địa chỉ và làm cho các dòng được đánh địa chỉ được chuyển đến
đầu của bộ đệm. Sẽ là một lỗi nếu địa chỉ địa chỉ nằm trong phạm vi của
dòng di chuyển. Số dòng hiện tại sẽ được đặt thành địa chỉ của dòng cuối cùng được di chuyển.

Con số Lệnh
toát yếu:
(.,.)N

Sản phẩm n lệnh sẽ ghi vào đầu ra tiêu chuẩn các dòng được đánh địa chỉ, trước mỗi dòng bởi
số dòng của nó và một ; số dòng hiện tại sẽ được đặt thành địa chỉ của
dòng cuối cùng được viết. Các n lệnh có thể được nối vào bất kỳ lệnh nào khác ngoài e, E, f, q, Q,
r, w, hoặc là !.

In Lệnh
toát yếu:
(.,.)P

Sản phẩm p lệnh sẽ ghi vào đầu ra tiêu chuẩn các dòng được đánh địa chỉ; số dòng hiện tại
sẽ được đặt thành địa chỉ của dòng cuối cùng được viết. Các p lệnh có thể được thêm vào bất kỳ
lệnh khác với e, E, f, q, Q, r, w, hoặc là !.

nhanh chóng Lệnh
toát yếu:
P

Sản phẩm P lệnh sẽ gây ra ed nhắc nhở với một ('*') (hoặc chuỗi, Nếu −p is
được chỉ định) cho tất cả các lệnh tiếp theo. Các P cách khác lệnh sẽ chuyển chế độ này
on and off; ban đầu nó sẽ được bật nếu −p tùy chọn được chỉ định; nếu không, tắt. Các
số dòng hiện tại sẽ không thay đổi.

Thoát Lệnh
toát yếu:
q

Sản phẩm q lệnh sẽ gây ra ed để thoát. Nếu bộ đệm đã thay đổi kể từ lần cuối cùng
toàn bộ bộ đệm đã được ghi, người dùng sẽ được cảnh báo, như đã mô tả trước đây.

Thoát Nếu không có Kiểm tra Lệnh
toát yếu:
Q

Sản phẩm Q lệnh sẽ gây ra ed để thoát mà không kiểm tra xem các thay đổi đã được thực hiện trong
bộ đệm kể từ lần cuối cùng w chỉ huy.

Đọc Lệnh
toát yếu:
($) r [hồ sơ]

Sản phẩm r lệnh sẽ đọc trong tệp được đặt tên theo tên đường dẫn hồ sơ và nối nó vào sau
dòng địa chỉ. Nếu không hồ sơ đối số được đưa ra, tên đường dẫn hiện được nhớ, nếu có,
sẽ được sử dụng (xem ef lệnh). Tên đường dẫn được ghi nhớ hiện tại sẽ không phải là
đã thay đổi trừ khi không có tên đường dẫn được nhớ. Địa chỉ 0 sẽ có giá trị đối với r và sẽ
khiến tệp được đọc ở đầu bộ đệm. Nếu quá trình đọc thành công, và
−s không được chỉ định, số byte được đọc sẽ được ghi vào đầu ra tiêu chuẩn trong
định dạng sau:

"% d \ n", <con số of byte đọc>

Số dòng hiện tại sẽ được đặt thành địa chỉ của dòng cuối cùng được đọc. Nếu hồ sơ is
thay thế bởi '!', phần còn lại của dòng sẽ được coi là một dòng lệnh shell mà
đầu ra sẽ được đọc. Một dòng lệnh shell như vậy sẽ không được nhớ là dòng điện
tên đường dẫn.

Thay thế Lệnh
toát yếu:
(.,.)S/RE/thay thế/cờ

Sản phẩm s lệnh sẽ tìm kiếm từng dòng được định địa chỉ để tìm sự xuất hiện của RE được chỉ định và
thay thế chuỗi phù hợp đầu tiên hoặc tất cả (không chồng chéo) bằng chuỗi thay thế; xem
mô tả sau đây về g hậu tố. Đó là một lỗi nếu thay thế không thành công
mọi dòng địa chỉ. Bất kỳ ký tự nào khác ngoài hoặc là có thể được sử dụng thay vì
Một để phân định RE và thay thế. Trong RE, chính dấu phân cách RE
có thể được sử dụng như một ký tự chữ nếu nó đứng trước một . Dòng hiện tại
sẽ được đặt thành địa chỉ của dòng cuối cùng xảy ra thay thế.

Một ('&') xuất hiện trong thay thế sẽ được thay thế bằng kết hợp chuỗi
RE trên dòng hiện tại. Ý nghĩa đặc biệt của '&' trong bối cảnh này có thể bị dập tắt
trước nó bởi . Như một tính năng tổng quát hơn, các ký tự '\n', Nơi n
là một chữ số, sẽ được thay thế bằng văn bản khớp với tham chiếu ngược tương ứng
biểu hiện. Nếu biểu thức tham chiếu ngược tương ứng không khớp, thì
nhân vật '\n' sẽ được thay thế bằng chuỗi trống. Khi nhân vật '%' là chỉ
nhân vật trong thay thế, Các thay thế được sử dụng trong lệnh thay thế gần đây nhất
sẽ được sử dụng như thay thế trong lệnh thay thế hiện tại; nếu không có
lệnh thay thế trước đó, việc sử dụng '%' theo cách này sẽ là một lỗi. Các '%'
sẽ mất đi ý nghĩa đặc biệt của nó khi nó nằm trong một chuỗi thay thế của nhiều hơn một
ký tự hoặc đứng trước một . Cho mỗi gặp phải trong quá trình quét
thay thế từ đầu đến cuối, ký tự sau sẽ mất đi ý nghĩa đặc biệt của nó
(nếu có). Không xác định được ý nghĩa đặc biệt nào được trao cho bất kỳ ký tự nào ngoài
, '&', '%', hoặc các chữ số.

Một dòng có thể được tách ra bằng cách thay thế một vào nó. Ứng dụng sẽ đảm bảo nó
thoát khỏi bên trong thay thế trước nó bởi . Như là
sự thay thế không thể được thực hiện như một phần của g or v lệnh . Số dòng hiện tại
sẽ được đặt thành địa chỉ của dòng cuối cùng mà sự thay thế được thực hiện. Nếu không
thay thế được thực hiện, số dòng hiện tại sẽ không thay đổi. Nếu một dòng bị chia cắt,
một sự thay thế sẽ được coi là đã được thực hiện trên mỗi dòng mới cho
mục đích của việc xác định số dòng hiện tại mới. Một sự thay thế sẽ được coi là
đã được thực hiện ngay cả khi chuỗi thay thế giống hệt với chuỗi mà nó
thay thế.

Ứng dụng sẽ đảm bảo rằng giá trị của cờ bằng XNUMX hoặc nhiều hơn:

tính Thay thế cho tínhchỉ sự xuất hiện của RE được tìm thấy trên mỗi dòng địa chỉ.

g Thay thế toàn cầu cho tất cả các trường hợp không chồng chéo của RE thay vì chỉ
cái đầu tiên. Nếu cả hai gtính được chỉ định, kết quả là không xác định.

l Ghi vào đầu ra tiêu chuẩn dòng cuối cùng trong đó thay thế được thực hiện. Dòng
sẽ được viết theo định dạng được chỉ định cho l chỉ huy.

n Ghi vào đầu ra tiêu chuẩn dòng cuối cùng trong đó thay thế được thực hiện. Dòng
sẽ được viết theo định dạng được chỉ định cho n chỉ huy.

p Ghi vào đầu ra tiêu chuẩn dòng cuối cùng trong đó thay thế được thực hiện. Dòng
sẽ được viết theo định dạng được chỉ định cho p chỉ huy.

Sao chép Lệnh
toát yếu:
(.,.) tđịa chỉ

Sản phẩm t lệnh sẽ tương đương với m lệnh, ngoại trừ một bản sao của địa chỉ
các dòng sẽ được đặt sau địa chỉ địa chỉ (có thể là 0); số dòng hiện tại
sẽ được đặt thành địa chỉ của dòng cuối cùng được thêm vào.

Undo Lệnh
toát yếu:
u

Sản phẩm u lệnh sẽ vô hiệu hóa hiệu lực của lệnh gần đây nhất đã sửa đổi bất kỳ thứ gì
trong bộ đệm, cụ thể là a, c, d, g, i, j, m, r, s, t, u, v, G, hoặc là V chỉ huy.
Tất cả các thay đổi được thực hiện đối với bộ đệm bởi g, G, v, hoặc là V lệnh toàn cầu sẽ được hoàn tác dưới dạng
thay đổi đơn lẻ; nếu không có thay đổi nào được thực hiện bởi lệnh toàn cục (chẳng hạn như với g/LẠI/p), u
lệnh sẽ không có hiệu lực. Số dòng hiện tại sẽ được đặt thành giá trị mà nó có
ngay trước khi lệnh được hoàn tác bắt đầu.

Toàn cầu Không phù hợp Lệnh
toát yếu:
(1, $) v/RE/lệnh

Lệnh này sẽ tương đương với lệnh toàn cục g ngoại trừ những dòng
được đánh dấu trong bước đầu tiên sẽ là những thứ mà dòng không bao gồm phần cuối
không khớp với RE.

Interactive Toàn cầu Không phù hợp Lệnh
toát yếu:
(1, $) V/RE/

Lệnh này sẽ tương đương với lệnh toàn cục tương tác G ngoại trừ những dòng
được đánh dấu trong bước đầu tiên sẽ là những thứ mà dòng không bao gồm
chấm dứt không khớp với RE.

Viết Lệnh
toát yếu:
(1, $) w [hồ sơ]

Sản phẩm w lệnh sẽ ghi các dòng có địa chỉ vào tệp được đặt tên bằng tên đường dẫn hồ sơ.
Lệnh sẽ tạo tệp, nếu nó không tồn tại hoặc sẽ thay thế nội dung của
tệp hiện có. Tên đường dẫn hiện đang nhớ sẽ không được thay đổi trừ khi có
không nhớ tên đường dẫn. Nếu không có tên đường dẫn nào được cung cấp, tên đường dẫn hiện được nhớ, nếu
bất kỳ, sẽ được sử dụng (xem ef lệnh); số dòng hiện tại sẽ không thay đổi.
Nếu lệnh thành công, số byte được ghi sẽ được ghi theo tiêu chuẩn
đầu ra, trừ khi −s tùy chọn đã được chỉ định, ở định dạng sau:

"% d \ n", <con số of byte viết>

If hồ sơ bắt đầu với '!', phần còn lại của dòng sẽ được coi là một dòng lệnh shell
mà đầu vào tiêu chuẩn sẽ là các dòng được đánh địa chỉ. Một dòng lệnh shell như vậy sẽ không
được nhớ là tên đường dẫn hiện tại. Cách sử dụng lệnh ghi này với '!' sẽ không
coi như là một `` cuối cùng w lệnh đã viết toàn bộ bộ đệm '', như đã mô tả trước đây;
do đó, chỉ điều này sẽ không ngăn cản cảnh báo cho người dùng nếu cố gắng thực hiện
phá hủy bộ đệm của trình soạn thảo thông qua e or q lệnh.

Dòng Con số Lệnh
toát yếu:
($) =

Số dòng của dòng được đánh địa chỉ sẽ được ghi vào đầu ra tiêu chuẩn như sau
định dạng:

"% d \ n", <hàng con số>

Số dòng hiện tại sẽ không thay đổi bằng lệnh này.

Shell trốn thoát Lệnh
toát yếu:
!lệnh

Phần còn lại của dòng sau '!' sẽ được gửi đến trình thông dịch lệnh để được
được hiểu như một dòng lệnh shell. Trong văn bản của dòng lệnh shell đó,
nhân vật không thoát '%' sẽ được thay thế bằng tên đường dẫn đã nhớ; nếu một '!' xuất hiện
là ký tự đầu tiên của lệnh, nó sẽ được thay thế bằng văn bản của
lệnh shell được thực thi qua '!'. Vì vậy, "!!" sẽ lặp lại trước đó!lệnh. Nếu có
thay thế của '%' or '!' được thực hiện, dòng sửa đổi sẽ được ghi vào
đầu ra tiêu chuẩn trước đây lệnh được thực thi. Các ! lệnh sẽ viết:

"!\n"

đến đầu ra tiêu chuẩn sau khi hoàn thành, trừ khi −s tùy chọn được chỉ định. Dòng hiện tại
số sẽ không thay đổi.

Null Lệnh
toát yếu:
(. + 1)

Chỉ một địa chỉ trên một dòng sẽ làm cho dòng có địa chỉ được viết. MỘT một mình
sẽ tương đương với "+ 1p". Số dòng hiện tại sẽ được đặt thành địa chỉ của
dòng viết.

EXIT TÌNH TRẠNG


Các giá trị thoát sau sẽ được trả về:

0 Hoàn tất thành công mà không có bất kỳ lỗi tệp hoặc lệnh nào.

> 0 Đã xảy ra lỗi.

HẬU QUẢ OF LRI


Khi gặp lỗi trong tập lệnh đầu vào hoặc khi phát hiện lỗi
hậu quả của dữ liệu (không) có trong tệp hoặc do một điều kiện bên ngoài, chẳng hạn như
lỗi đọc hoặc ghi:

* Nếu đầu vào tiêu chuẩn là tệp thiết bị đầu cuối, tất cả đầu vào sẽ được xóa và
lệnh đọc.

* Nếu đầu vào chuẩn là một tệp thông thường, ed sẽ kết thúc với một lối ra khác không
trạng thái.

Sản phẩm tiếp theo phần đang nhiều thông tin.

ỨNG DỤNG SỬ DỤNG


Do bản chất cực kỳ ngắn gọn của các thông báo lỗi mặc định, tập lệnh thận trọng
nhà văn bắt đầu ed nhập lệnh với một H để nếu có bất kỳ lỗi nào xảy ra tại
ít nhất một số manh mối về nguyên nhân đã được cung cấp.

Trong các phiên bản trước của tiêu chuẩn này, - tùy chọn đã được mô tả. Đây là không
còn được chỉ định. Các ứng dụng nên sử dụng −s Lựa chọn. Sử dụng - như là một hồ sơ toán hạng bây giờ
tạo ra kết quả không xác định. Điều này cho phép việc triển khai tiếp tục hỗ trợ
hành vi yêu cầu trước đây.

VÍ DỤ


Không có.

CƠ SỞ LÝ LUẬN


Mô tả ban đầu của tiện ích này được điều chỉnh từ SVID. Nó chứa một số
các tính năng không có trong Phiên bản 7 hoặc các hệ thống có nguồn gốc từ BSD. Một số khác biệt giữa
POSIX và BSD ed các tiện ích bao gồm, nhưng không cần giới hạn ở:

* BSD - tùy chọn không ngăn chặn '!' nhắc nhở sau một ! chỉ huy.

* BSD không hỗ trợ các ý nghĩa đặc biệt của '%''!' các ký tự trong một !
chỉ huy.

* BSD không hỗ trợ địa chỉ ';'','.

* BSD cho phép các cặp lệnh / hậu tố pp, ll, v.v., không được xác định trong này
khối lượng của POSIX.1‐2008.

* BSD không hỗ trợ '!' một phần nhân vật của e, r, hoặc là w lệnh.

* A không thành công g lệnh trong BSD đặt số dòng thành dòng cuối cùng được tìm kiếm nếu có
không có trận đấu.

* BSD không mặc định lệnh đến p chỉ huy.

* BSD không hỗ trợ G, h, H, n, hoặc là V lệnh.

* Trên BSD, nếu không có văn bản nào được chèn, lệnh chèn sẽ thay đổi dòng hiện tại thành
dòng tham chiếu −1; nghĩa là dòng trước dòng được chỉ định.

* Trên BSD, tham gia lệnh chỉ với một địa chỉ duy nhất sẽ thay đổi dòng hiện tại thành
địa chỉ nhà.

* BSD không hỗ trợ P yêu cầu; hơn nữa, trong BSD, nó đồng nghĩa với p
chỉ huy.

* BSD không hỗ trợ lùi lại trong số các lệnh j, m, r, s, hoặc là t.

* Phiên bản 7 ed lệnh Wvà BSD ed lệnh W, wqz không có mặt ở
tập này của POSIX.1‐2008.

Sản phẩm −s tùy chọn đã được thêm vào để cho phép các chức năng của - tùy chọn theo cách
tương thích với Nguyên tắc Cú pháp Tiện ích.

Trong các đề xuất ban đầu, có một giới hạn, {ED_FILE_MAX}, mô tả lịch sử
hạn chế của một số ed tiện ích trong việc xử lý các tệp lớn; một số trong số này đã có
sự cố với tệp lớn hơn 100000 byte. Chính hạn chế này đã thúc đẩy nhiều
mong muốn bao gồm một chia trong tập này của POSIX.1‐2008. Vì giới hạn này là
đã bị loại bỏ, tập POSIX.1‐2008 này yêu cầu các triển khai ghi lại kích thước tệp
giới hạn do ed trong tài liệu tuân thủ. Giới hạn {ED_LINE_MAX} cũng là
loại bỏ; do đó, giới hạn toàn cục {LINE_MAX} được sử dụng cho các dòng đầu vào và đầu ra.

Cách thức mà l lệnh ghi các ký tự không in được đã được thay đổi để tránh
phương pháp backspace-overstrike lịch sử. Trên thiết bị đầu cuối hiển thị video, điều kiện vượt mức là
không rõ ràng bởi vì hầu hết các thiết bị đầu cuối chỉ đơn giản thay thế các ký tự quá tải, làm cho l định dạng
không hữu ích cho mục đích dự định của nó là hiểu rõ ràng nội dung của
hàng. Lịch sử -scapes cũng mơ hồ. (Chuỗi "a \ 0011" có thể
đại diện cho một dòng chứa sáu ký tự đó hoặc một dòng chứa ba ký tự
'a', một byte có giá trị nhị phân là 1 và a.) Ở định dạng bắt buộc ở đây, a
xuất hiện trong dòng được viết là "\\" để đầu ra thực sự rõ ràng. Các
phương pháp đánh dấu các đầu dòng đã được thông qua từ ex biên tập viên và được yêu cầu cho bất kỳ
dòng kết thúc bằng nhân vật; các '$' được đặt trên tất cả các dòng để '$' at
cuối dòng không thể bị hiểu sai.

Các phiên bản trước của tiêu chuẩn này được phép triển khai với các byte khác tám
bit, nhưng điều này đã được sửa đổi trong phiên bản này.

Mô tả về cách viết NUL đã bị xóa. Ký tự NUL không được ở trong văn bản
các tệp và tập POSIX.1‐2008 này không được quy định hành vi trong trường hợp
đầu vào không xác định, sai sót.

Không giống như một số tiện ích chỉnh sửa khác, tên tệp được chấp nhận bởi E, e, Rr
lệnh không phải là mẫu.

Các đề xuất ban đầu cho biết rằng −p tùy chọn chỉ hoạt động khi đầu vào tiêu chuẩn được liên kết
với một thiết bị đầu cuối. Điều này đã được thay đổi để phù hợp với các triển khai trước đây,
do đó cho phép các ứng dụng tự kết hợp giữa người dùng và ed tiện ích.

Dạng của lệnh thay thế sử dụng n hậu tố bị giới hạn trong một số lịch sử
tài liệu (trong đó điều này được mô tả không chính xác là `` tham chiếu ngược ''). Giới hạn này
đã bị bỏ qua vì không có lý do gì khiến trình chỉnh sửa xử lý các dòng của {LINE_MAX}
chiều dài nên có hạn chế này. Lệnh s / x / X / 2047 nên có thể thay thế
lần xuất hiện thứ 2047 của 'NS' trên một dòng.

Việc sử dụng các lệnh in với các hậu tố in (chẳng hạn như pn, lp, và như vậy) đã được thực hiện
không xác định vì các hệ thống dựa trên BSD cho phép điều này, trong khi Hệ thống V thì không.

Một số hệ thống dựa trên BSD thoát ngay lập tức khi nhận được phần cuối của tệp nếu tất cả các dòng trong
tập tin đã bị xóa. Vì tập POSIX.1‐2008 này đề cập đến q chỉ huy trong
trường hợp này, hành vi như vậy không được phép.

Một số triển khai lịch sử trả về trạng thái thoát bằng không ngay cả khi lỗi lệnh có
xảy ra; điều này không được phép trong tập này của POSIX.1‐2008.

Một số triển khai trước đây chứa một lỗi cho phép một được
đã nhập ở chế độ đầu vào với tư cách là . Điều này không được phép bởi ed
bởi vì không có mô tả về việc thoát bất kỳ ký tự nào trong chế độ đầu vào;
các ký tự được nhập vào bộ đệm chính xác như đã nhập. Phương pháp điển hình của
nhập một đã được đặt trước nó bằng một ký tự khác và sau đó sử dụng
lệnh thay thế để xóa ký tự đó.

Rất khó theo một số chế độ của một số phiên bản của thiết bị đầu cuối hệ điều hành lịch sử
trình điều khiển để phân biệt giữa tình trạng cuối tệp và ngắt kết nối thiết bị đầu cuối.
POSIX.1‐2008 không yêu cầu triển khai để phân biệt giữa hai trường hợp,
cho phép triển khai lịch sử của ed tiện ích trên các nền tảng lịch sử để
tuân thủ. Việc triển khai được khuyến khích để phân biệt giữa hai điều này, nếu có thể, và
thực hiện hành động thích hợp khi ngắt kết nối thiết bị đầu cuối.

Trong lịch sử, ed chấp nhận một địa chỉ không cho ar lệnh để chèn văn bản
khi bắt đầu bộ đệm chỉnh sửa. Khi bộ đệm trống, lệnh .= trả về số không.
POSIX.1‐2008 yêu cầu tuân thủ thông lệ lịch sử.

Để nhất quán với ar lệnh và chức năng người dùng tốt hơn, ic
các lệnh cũng phải chấp nhận địa chỉ là 0, trong trường hợp đó là 0i được coi là 1i Và tương tự
cho c chỉ huy.

Tất cả các địa chỉ sau đều là địa chỉ hợp lệ:

+++ Ba dòng sau dòng hiện tại.

/Belt Hold/ - Một dòng trước lần xuất hiện tiếp theo của mẫu.

−2 Hai dòng trước dòng hiện tại.

3 −−−− 2 Dòng một (lưu ý địa chỉ âm trung gian).

1 2 3 Dòng sáu.

Bất kỳ số lượng địa chỉ nào cũng có thể được cung cấp cho các lệnh lấy địa chỉ; Ví dụ,
"1,2,3,4,5p" in dòng 4 và 5, vì hai là số lượng địa chỉ hợp lệ lớn nhất
được chấp nhận bởi in yêu cầu. Điều này, kết hợp với dấu phân cách,
cho phép người dùng tạo các lệnh dựa trên các mẫu có thứ tự trong tệp. Ví dụ,
lệnh "3; / foo /; + 2p" sẽ hiển thị dòng đầu tiên sau dòng 3 chứa mẫu
foo, cộng với hai dòng tiếp theo. Lưu ý rằng địa chỉ "3;" vẫn phải được đánh giá trước
bị loại bỏ, vì nguồn gốc tìm kiếm cho "/ foo /" lệnh phụ thuộc vào điều này.

Trong lịch sử, ed chuỗi địa chỉ không được phép, như đã thảo luận ở trên, chỉ bao gồm
hoặc là dải phân cách; Ví dụ, ",,," or ";;;" được coi là một lỗi.
Để có tính nhất quán về đặc điểm kỹ thuật địa chỉ, hạn chế này được loại bỏ. Bảng sau
liệt kê một số biểu mẫu địa chỉ hiện có thể:

┌─────────┬────────┬───────┬───────────── ─────────────┐
Địa ChỉAddr1Addr2Trạng tháiBình luận
├─────────┼───────┼────────┼───────────── ─────────────┤
│7, │ 7 │ 7 │ Lịch sử │ │
│7,5, │ 5 │ 5 │ Lịch sử │ │
│7,5,9 │ 5 │ 9 │ Lịch sử │ │
│7,9 │ 7 │ 9 │ Lịch sử │ │
│7, + │ 7 │ 8 │ Lịch sử │ │
│, │ 1 │ $ │ Lịch sử │ │
│, 7 │ 1 │ 7 │ Phần mở rộng │ │
│ ,, │ $ │ $ │ Phần mở rộng │ │
│ ,; │ $ │ $ │ Phần mở rộng │ │
│7; │ 7 │ 7 │ Lịch sử │ │
│7; 5; │ 5 │ 5 │ Lịch sử │ │
│7; 5; 9 │ 5 │ 9 │ Lịch sử │ │
│7; 5,9 │ 5 │ 9 │ Lịch sử │ │
│7; $; 4 │ $ │ 4 │ Lịch sử │ Hợp lệ, nhưng có sai sót. │
│7; 9 │ 7 │ 9 │ Lịch sử │ │
│7; + │ 7 │ 8 │ Lịch sử │ │
; │. │ $ │ Lịch sử │ │
│; 7 │. │ 7 │ Phần mở rộng │ │
│ ;; │ $ │ $ │ Phần mở rộng │ │
│ ;, │ $ │ $ │ Phần mở rộng │ │
└─────────┴───────┴────────┴───────────── ─────────────┘
Trong lịch sử, ed chấp nhận '^' ký tự như một địa chỉ, trong trường hợp đó nó giống hệt nhau
đến tính cách. POSIX.1‐2008 không yêu cầu hoặc cấm hành vi này.

TƯƠNG LAI HƯỚNG DẪN


Không có.

Sử dụng edposix trực tuyến bằng các dịch vụ onworks.net


Máy chủ & Máy trạm miễn phí

Tải xuống ứng dụng Windows & Linux

  • 1
    wxPython
    wxPython
    Một tập hợp các mô-đun mở rộng Python
    bọc các lớp GUI đa nền tảng từ
    wxWidgets.. Đối tượng: Nhà phát triển. Người dùng
    giao diện: X Window System (X11), Win32...
    Tải xuống wxPython
  • 2
    góifilemanager
    góifilemanager
    Đây là trình quản lý tệp gói Total War
    dự án, bắt đầu từ phiên bản 1.7. Một
    giới thiệu ngắn về Warscape
    mod: ...
    Tải xuống packfilemanager
  • 3
    IPerf2
    IPerf2
    Một công cụ lưu lượng mạng để đo lường
    Hiệu suất TCP và UDP với các chỉ số
    xung quanh cả thông lượng và độ trễ. Các
    các mục tiêu bao gồm duy trì một hoạt động
    cá tuyết iperf ...
    Tải xuống IPerf2
  • 4
    fre: ac - công cụ chuyển đổi âm thanh miễn phí
    fre: ac - công cụ chuyển đổi âm thanh miễn phí
    fre:ac là một công cụ chuyển đổi âm thanh và đĩa CD miễn phí
    trình trích xuất cho các định dạng và bộ mã hóa khác nhau.
    Nó có tính năng MP3, MP4/M4A, WMA, Ogg
    Định dạng Vorbis, FLAC, AAC và Bonk
    ủng hộ, ...
    Tải xuống fre:ac - trình chuyển đổi âm thanh miễn phí
  • 5
    Matplotlib
    Matplotlib
    Matplotlib là một thư viện toàn diện
    để tạo tĩnh, động và
    trực quan hóa tương tác bằng Python.
    Matplotlib giúp mọi thứ trở nên dễ dàng và
    điều khó ...
    Tải xuống Matplotlib
  • 6
    người máy
    người máy
    Viết logic chatbot của bạn một lần và
    kết nối nó với một trong những cái có sẵn
    dịch vụ nhắn tin, bao gồm cả Amazon
    Alexa, Facebook Messenger, Slack,
    Telegram hoặc thậm chí yo ...
    Tải xuống BotMan
  • Khác »

Lệnh Linux

Ad