Đây là mục người đàn ông cho -n
:
-n
ngăn chặn tự động in không gian mẫu
Tôi nhận thấy rằng khi không sử dụng -n
cho một số thao tác nhất định, mỗi dòng được in thành thiết bị xuất chuẩn (và các dòng được yêu cầu được in hai lần):
$ cat test.txt
first
second
third
fourth
fifth
$ sed -n '2,3p' test.txt
second
third
$ sed '2,3p' test.txt
first
second
second
third
third
fourth
fifth
Tuy nhiên, luật này không áp dụng cho các lệnh khác:
$ sed -n 's/t/T/' test.txt
$ sed 's/t/T/' test.txt
firsT
second
Third
fourTh
fifTh
Vì vậy, những gì -n
làm, chính xác?
-n
in ra mỗi dòng ngoài những dòng được yêu cầu cụ thể. Do đó, trong trường hợp đó,-n
ngăn chặn việc in của mỗi dòng được phân tích cú pháp . Tuy nhiên trong các ví dụ thứ ba và thứ tư, hành vi là khác nhau. Trong những trường hợp đó, sed mà-n
không xuất ra các dòng hai lần, do đó, việc sử dụng-n
không ngăn chặn việc in của mỗi dòng được phân tích cú pháp mà thay vào đó sẽ ngăn chặn việc in các dòng không bị thay đổi . Tôi đang gặp khó khăn trong việc khái quát hóa khi hành vi sẽ là cái này hay cái khác.