use*_*692 4 shell sed line match
只有在sed(Linux流编辑器)中存在匹配时,如何打印(特定)行?假设我有第三行,只有符合匹配标准才能打印; 我怎么打印这个?
我正在将命令的输出传递给sed,并且不希望再次使用sed输出来管道sed:
| sed -ne ''"$currline"'p' | sed -n '/state/p'`
Run Code Online (Sandbox Code Playgroud)
另外,我将输出分配给带有反引号的变量.
给定输入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
Run Code Online (Sandbox Code Playgroud)
sed -n '3{/state/p;}' $file
Run Code Online (Sandbox Code Playgroud)
3匹配第3行; 第3行的行动是'如果你找到/state/,打印'; 在-n防止线的一般印刷.
另外,你应该避免反击; 使用var=$(cmd1 | cmd2)符号而不是var=`cmd1 | cmd2`符号更好.