Sed (Stream EDitor) là trình chỉnh sửa dòng lệnh cho môi trường POSIX. Sed xử lý một hoặc nhiều tệp theo tập lệnh chỉnh sửa và ghi kết quả vào đầu ra tiêu chuẩn. Được tạo ra tại Bell Labs, nó đã xuất hiện từ giữa những năm 70.
Có cách nào để xóa các dòng trùng lặp trong một tệp trong Unix không? Tôi có thể làm điều đó với sort -uvà uniqcác lệnh, nhưng tôi muốn sử dụng sedhoặc awk. Điều đó có thể không?
Tôi đang cố gắng xuất ra một chuỗi chứa mọi thứ giữa hai từ của một chuỗi: đầu vào: "Here is a String" đầu ra: "is a" Sử dụng: sed -n '/Here/,/String/p' bao gồm các điểm cuối, nhưng tôi không muốn bao gồm chúng.
Tôi muốn lấy hai số cuối (một int, một float; theo sau là khoảng trắng tùy chọn) và chỉ in chúng. Thí dụ: foo bar <foo> bla 1 2 3.4 Nên in: 2 3.4 Cho đến nay, tôi có những điều sau đây: sed -n 's/\([0-9][0-9]*[\ \t][0-9.]*[\ \t]*$\)/replacement/p' sẽ cho …
Giả sử tôi có một tập tin với các dòng aaa = bbb Bây giờ tôi muốn thay thế chúng bằng: aaa = xxx Tôi có thể làm như sau: sed "s / aaa = bbb / aaa = xxx / g" Bây giờ tôi có một tập tin với …
Tôi có một tệp văn bản trong đó một số từ được in trong TẤT CẢ CAPS. Tôi muốn có thể chuyển đổi mọi thứ trong tệp văn bản thành chữ thường, sử dụng sed. Điều đó có nghĩa là câu đầu tiên sau đó sẽ đọc, 'tôi có một …
Tôi đang viết kịch bản shell cho Linux nhúng trong một hộp công nghiệp nhỏ. Tôi có một biến chứa văn bản pid: 1234và tôi muốn loại bỏ các ký tự X đầu tiên khỏi dòng, vì vậy chỉ có 1234 ở lại. Tôi có nhiều biến hơn tôi cần …
Làm cách nào để tìm kiếm và thay thế toàn bộ từ bằng sed? Đang làm sed -i 's/[oldtext]/[newtext]/g' <file> cũng sẽ thay thế một phần các trận đấu [oldtext]mà tôi không muốn nó làm.
Sử dụng awkhoặc sedlàm cách nào để chọn các dòng nằm giữa hai mẫu điểm đánh dấu khác nhau? Có thể có nhiều phần được đánh dấu bằng các mẫu này. Ví dụ: Giả sử tệp chứa: abc def1 ghi1 jkl1 mno abc def2 ghi2 jkl2 mno pqr stu Và …
Nếu tôi chạy mã này trong bash: echo dog dog dos | sed -r 's:dog:log:' nó cho đầu ra: log dog dos Làm thế nào tôi có thể làm cho nó thay thế tất cả các lần xuất hiện của con chó?
Tôi có dữ liệu sau đây và tôi cần đặt tất cả vào một dòng. Tôi có cái này: 22791 ; 14336 ; 22821 ; 34653 ; 21491 ; 25522 ; 33238 ; Tôi cần cái này: 22791;14336;22821;34653;21491;25522;33238; BIÊN TẬP Không có lệnh nào trong số này hoạt động hoàn …
Tôi có một tập lệnh shell đơn giản để loại bỏ khoảng trắng theo sau khỏi tệp. Có cách nào để làm cho tập lệnh này nhỏ gọn hơn (mà không cần tạo tệp tạm thời) không? sed 's/[ \t]*$//' $1 > $1__.tmp cat $1__.tmp > $1 rm $1__.tmp
Làm cách nào để thêm một chuỗi sau mỗi dòng trong tệp bằng cách sử dụng bash? Nó có thể được thực hiện bằng cách sử dụng lệnh sed, nếu vậy làm thế nào?
Tôi chạy sed để thực hiện một số thay thế trên windows và tôi nhận thấy rằng nó tự động chuyển đổi phần cuối dòng thành Unix (\ n). Có tùy chọn nào để yêu cầu sed sử dụng phần cuối dòng Windows (\ r \ n) hoặc thậm chí …
Tôi có một tệp trông giống như sau: AE United Arab Emirates AG Antigua & Barbuda AN Netherlands Antilles AS American Samoa BA Bosnia and Herzegovina BF Burkina Faso BN Brunei Darussalam Và tôi muốn đảo ngược thứ tự, in mọi thứ đầu tiên ngoại trừ $ 1 và sau …