Làm cách nào để tham gia hai dòng bằng awk hoặc sed?Tham gia hai dòng liên tiếp bằng awk hoặc sed
for e.g.:
Tôi có dữ liệu mà trông như thế này:
abcd
joinabcd
efgh
joinefgh
ijkl
joinijkl
Tôi cần một đầu ra như hình dưới đây:
joinabcdabcd
joinefghefgh
joinijklijkl
Có ai quan tâm giải thích cách biểu hiện awk này hoạt động không? Phần lớn là phần (NR% 2). – mjuarez
NR đại diện cho số hàng ... % là toán tử modulu (tức là% b là phần còn lại khi a được chia cho b) ... (NR% 2) là modulu của NR bằng hai, tức là đúng khi NR là đồng đều và sai khi lẻ ... ! (NR% 2) là đúng khi NR là lẻ, do đó ... ! (NR% 2) {print $ 0p} có nghĩa là chương trình sẽ in đường ghép nối với biến p, chỉ trên các dòng lẻ ... {p = $ 0} có nghĩa là trên mọi dòng, p được đặt là dòng hiện tại (nhưng chỉ sau khi in dòng hiện tại và dòng trước nếu dòng hiện tại là lẻ). – shiri
Với số lượng dòng đầu vào lẻ, phương thức này sẽ không in dòng cuối cùng. –