gpt4 book ai didi

bash - 如何使用 sed 从文件中打印行,其中行号存储为变量

转载 作者:行者123 更新时间:2023-11-29 09:09:11 26 4
gpt4 key购买 nike

我正在尝试打印出我使用行号确定的文件的特定部分,但行号每天都会有所不同,因此我需要能够获取行号,将它们存储为变量,然后使用 sed 从存储的文件中剪切行。

这是我目前所拥有的:

start-loader 是一个包含我要打印的行的文件,但也包含很多垃圾。

我可以使用 sed -n '93,109p' start-loader 打印出我需要的内容,但我想做的是:

sed -n '$FL,$LFp' start-loader

变量是我存储的行号。

我从对此事的大量研究中知道上述语法不正确,但我使用的所有内容要么返回错误,要么不起作用。我已经尝试过双引号,变量的单引号和双引号,变量的大括号,以及其他一些东西以及许多不同的语法样式。有人碰巧知道我该如何正确地做到这一点吗?

最佳答案

您需要以某种方式将 p 命令与最后一行变量分开。以下任一项都应该有效:

$ sed -n "$FL,${LF}p" start-loader
$ sed -n "$FL,$LF p" start-loader

如果没有分离,shell 会尝试扩展不存在的变量 LFp,导致空字符串被传递给 sed 并导致语法错误.

您还需要使用双引号而不是单引号,以便在 sed 看到变量之前展开变量。

关于bash - 如何使用 sed 从文件中打印行,其中行号存储为变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16326663/

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