我正在尝试从文件中提取一段文本以用作下一个命令的input。 这个词总是以“JID_”开始,然后是一些随机数字/字符。
例如 :
SelectorSet Selector: InstanceID = JID_001264193601, __cimnamespace = root/dcim
我想给这个string分配一个variables$ JID。 我如何从行中拉出它? sed或grep最好,但任何方法都很好。
这对我有效
(03:45 PM):(Jacob@houston)~$ egrep -o "JID_[0-9]+" bah | cut -d _ -f2
001264193601
好吧,我只是砍了几分钟,然后想出了这个:
grep JID job.txt | sed -e "s/.*InstanceID = //" -e "s/,.*//"
用这个输出:
JID_001264194552
我认为这将工作。
这个命令:
var=$(sed -n 's/.*InstanceID = JID_\([0-9]\+\),.*/\1/p') echo $var
会输出这个:
001264193601
为给定的input。
如果你想保留“JID_”:
var=$(sed -n 's/.*InstanceID = \(JID_[0-9]\+\),.*/\1/p')