Нет, это определенно не останавливается на моей версии sed
(GNU sed версия 4.2.1).
Я создал файл со многими строками (203118592), запустив yes
в течение нескольких секунд и затем нажав Ctrl-C :
$ yes > file
Это создает огромный файл с кучей строк с "у". Затем я запустил вашу команду sed
, чтобы заменить "y" на "n" (вместо "foo" на "bar"), и это заняло довольно много времени:
$ wc -l file
203118592 file
$ time sed -n '1s/y/n/p' file
n
real 0m9.335s
user 0m9.237s
sys 0m0.068s
Вы просто не создали достаточно большой файл, чтобы увидеть эффект. :)
Кроме того, просто для справки, если я использую q
, он выйдет, как и ожидалось:
$ time sed -n '1s/y/n/p ;q' file
n
real 0m0.002s
user 0m0.000s
sys 0m0.000s