Tôi đã tạo hai tệp:
echo -e "1\n2\n3\n4\n5" > 123.txt
echo -e "a\nb\nc\nd\ne" > abc.txt
Tôi muốn lấy tệp 123.txt
có nội dung sau:
1
2
3
b
c
d
4
5
Vì vậy, nói cách khác, chèn các hàng có số từ 2 đến 4 của tệp abc.txt
vào tệp 123.txt
sau dòng thứ ba.
Tôi đã xem xét nhiều câu hỏi tương tự ở đây, nhưng không tìm thấy câu trả lời phù hợp. Tuy nhiên, tôi đã nhận được các dòng:
sed -n '2,4p' abc.txt
và đặt một số văn bản vào tệp sau dòng thứ ba:
sed -i '3a\mytext' 123.txt
Làm thế nào để làm điều này bằng cách sử dụng thiết bị xuất chuẩn lệnh trước hoặc / và sed
/ awk
lệnh duy nhất?
head -3 123.txt > tmp && tail -4 abc.txt | head -3 >> tmp && tail -2 123.txt >> tmp && mv tmp 123.txt
head -n +3 123.txt > tmp && cat abc.txt >> tmp && tail -n +2 123.txt >> tmp && mv tmp 123.txt