DellServerGeek Asked: 2010-01-23 13:11:39 +0800 CST2010-01-23 13:11:39 +0800 CST 2010-01-23 13:11:39 +0800 CST 如何使用 sed 或 grep 从文件中抓取单词 772 我正在尝试从文件中提取一段文本以用作下一个命令的输入。这个词总是以“JID_”开头,然后是一些随机数/字符。 例如 : SelectorSet Selector: InstanceID = JID_001264193601, __cimnamespace = root/dcim 我想为该字符串分配一个变量 $JID 。我如何将它从线上拉出来?sed 或 grep 最好,但任何方法都可以。 grep sed 3 个回答 Voted JPerkSter 2010-01-23T13:46:23+08:002010-01-23T13:46:23+08:00 这对我有用 (03:45 PM):(Jacob@houston)~$ egrep -o "JID_[0-9]+" bah | cut -d _ -f2 001264193601 DellServerGeek 2010-01-23T13:22:50+08:002010-01-23T13:22:50+08:00 好的,我只是破解了几分钟并想出了这个: grep JID job.txt | sed -e "s/.*InstanceID = //" -e "s/,.*//" 随着这个的输出: JID_001264194552 我认为这会奏效。 Dennis Williamson 2010-01-23T14:41:26+08:002010-01-23T14:41:26+08:00 这个命令: var=$(sed -n 's/.*InstanceID = JID_\([0-9]\+\),.*/\1/p') echo $var 将输出: 001264193601 对于给定的输入。 如果要保留“JID_”: var=$(sed -n 's/.*InstanceID = \(JID_[0-9]\+\),.*/\1/p')
这对我有用
001264193601
好的,我只是破解了几分钟并想出了这个:
随着这个的输出:
我认为这会奏效。
这个命令:
将输出:
对于给定的输入。
如果要保留“JID_”: