我在shell脚本中遇到了下面的sed
语句。
sed -n "/set -A $REC/,/#${REC}_END/p"
我知道-n
选项会禁止自动打印并显示p
。
/../
里面的内容是否在上面的语句中使用了普通字符串或其他命令? (set -A
)
答案 0 :(得分:0)
这是一个“地址范围”,它告诉sed只打印/set -A $REC/
和/#${REC}_END/
之间的行。表达式周围的双引号扩展变量,因此$ REC将被变量值替换(希望它没有'
在第一个地址中包含斜杠),在第二个地址中包含${REC}
。那里需要大括号,因为下划线是变量名称的有效部分,因此$REC_END
看起来像变量名,而不是变量名后跟字符串_END
。