gpt4 book ai didi

unix - sed -n '1s/pattern/substitute/p' 是解析整个文件还是在第 1 行后退出?

转载 作者:行者123 更新时间:2023-12-05 00:50:05 26 4
gpt4 key购买 nike

sed 以 1 行地址(第 1 行)及其上的替换执行时,示例:

$ sed -n '1s/foo/bar/p' <<EOF
foo will be replaced, this is line 1
are these lines still processed?
Hard to check.
EOF

sed 是继续读取/解析文件的剩余部分还是在指定地址后退出?我在一个非常快的系统上,计时似乎确实停止了,但没有给出 q 命令,我想确认一下。

最佳答案

不,它绝对不会在我的 sed 版本(GNU sed 版本 4.2.1)上停止。

我通过运行 yes 几秒钟然后按 Ctrl-C 创建了一个包含多行的文件 (203118592):

$ yes > file

这会创建一个巨大的文件,其中包含一堆带有“y”的行。然后我运行了您的 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

关于unix - sed -n '1s/pattern/substitute/p' 是解析整个文件还是在第 1 行后退出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9790895/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com