当前位置: 技术问答>linux和unix
请教高手:sed相关问题
来源: 互联网 发布时间:2016-12-10
本文导语: 如下:文本中的一个片段 // 可以修改,TR_SENDMESSAGE_FLAG是否往发送回执消息的开关。1:发送0:不发送 TR_SENDMESSAGE_FLAG=1 // 可以修改,MEM_THREAD_SLEEP发送回执消息的延时时间。前提:TR_SENDMESSAGE_FLAG=1 根据 我想定位到...
如下:文本中的一个片段
// 可以修改,TR_SENDMESSAGE_FLAG是否往发送回执消息的开关。1:发送0:不发送
TR_SENDMESSAGE_FLAG=1
// 可以修改,MEM_THREAD_SLEEP发送回执消息的延时时间。前提:TR_SENDMESSAGE_FLAG=1
根据
我想定位到中间标绿的那一行,并修改它的值,应该怎么做?
我遇到的困难:根据TR_SENDMESSAGE_FLAG定位,会定位出三行(+标红的前后两行);根据'TR_SENDMESSAGE_FLAG='定位会定位出两行(包括它的后一行)。这样子,一修改值就会把两行或三行同时修改掉。
请问:该如何解决上述困难?谢谢!!!
// 可以修改,TR_SENDMESSAGE_FLAG是否往发送回执消息的开关。1:发送0:不发送
TR_SENDMESSAGE_FLAG=1
// 可以修改,MEM_THREAD_SLEEP发送回执消息的延时时间。前提:TR_SENDMESSAGE_FLAG=1
根据
我想定位到中间标绿的那一行,并修改它的值,应该怎么做?
我遇到的困难:根据TR_SENDMESSAGE_FLAG定位,会定位出三行(+标红的前后两行);根据'TR_SENDMESSAGE_FLAG='定位会定位出两行(包括它的后一行)。这样子,一修改值就会把两行或三行同时修改掉。
请问:该如何解决上述困难?谢谢!!!
|
利用^$做词头词尾限制,这样你就可以得到一行了
|
grep "^TR_SENDMESSAGE_FLAG=1$" file
|
sed -n '/^TR_SENDMESSAGE_FLAG=1$/ p' file
|
貌似在sed里 $ 表示最后一行 !!