我有一个文件 ( ),其中在一行的开头file_name
仅包含一次字符串。Result:
我想打印该行中字符串后面的所有字符Result:
,直到遇到空格。我应该使用哪个 shell 命令?
grep "Result: " file_name | tail -c +9
不管用。
答案1
最简单的方法是使用awk
.
awk '/^Result: / {print $2}' file_name
它匹配以 开头的行Result:
,并打印文件中的第二个字段,如默认 $IFS 所定义,该字段为空格。
答案2
听起来你想要的是:
sed -ne 's/^Result: \([^ ]*\).*/\1/p' file_name
与包含“Result:”的行匹配并打印第一个单词在它之后。其他行不显示。
答案3
tillblank=$(egrep -o "^Result: [^ ]* " file)
echo ${tillblank/*:/}
egrep -o 仅输出您搜索的模式。下一行删除冒号之前的所有内容。