gpt4 book ai didi

shell - 仅当在 sed 中匹配时才打印特定行号

转载 作者:行者123 更新时间:2023-12-04 22:14:17 26 4
gpt4 key购买 nike

仅当 sed 中存在匹配项时,您如何打印(特定)行(Linux 流编辑器)?假设我有第 3 行,只有在它满足匹配条件时才想打印;我怎样才能打印这个?

我正在将命令的输出传送到 sed ,并且不想使用 sed的输出到管道 sed再次:

| sed -ne ''"$currline"'p' | sed -n '/state/p'`

另外,我将输出分配给一个带反引号的变量。

给定输入 A 和 B,以及搜索模式 state ,A 的输出应该是行 3 stateless (注意 3 是数据的一部分),对于 B 应该什么都不是:
Input A              Input B
1 state 1 state
2 statement 2 statement
3 stateless 3 statless
4 stated 4 stated
5 estate 5 estate

最佳答案

sed -n '3{/state/p;}' $file

3 匹配第 3 行;第 3 行的操作是“如果您找到 /state/ , 打印'; -n防止行的一般打印。

另外,你应该避免反引号;最好使用 var=$(cmd1 | cmd2)符号比 var=`cmd1 | cmd2`符号。

关于shell - 仅当在 sed 中匹配时才打印特定行号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13942821/

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