Sed 模式与空间之间的Grep文本
我有以下格式的数据Sed 模式与空间之间的Grep文本,sed,grep,Sed,Grep,我有以下格式的数据 sometext NAME=abc TIME_TAKEN sometext NAME=xyz{123} REQUEST 我正在尝试在名称和空格之间对数据进行grep。我想在下面的格式输出 abc xyz{123} 我试着用sed和下面的cat一起使用,但它不起作用 cat test.txt | sed 's/NAME=\(.*\)"\+[[:space:]]\+"/\1/g' awk 'sub(/.*NAME= +/,"")
sometext NAME=abc TIME_TAKEN
sometext NAME=xyz{123} REQUEST
我正在尝试在名称和空格之间对数据进行grep。我想在下面的格式输出
abc
xyz{123}
我试着用sed和下面的cat一起使用,但它不起作用
cat test.txt | sed 's/NAME=\(.*\)"\+[[:space:]]\+"/\1/g'
awk 'sub(/.*NAME= +/,"") && sub(/ +.*/,"")' test.txt
注意匹配作业前后的所有内容:
sed -ne 's/.* NAME=\(.*\) .*/\1/p' test.txt
当心!它将从每行中提取最后一个
名称=…
。匹配分配前后的所有内容:
sed -ne 's/.* NAME=\(.*\) .*/\1/p' test.txt
当心!它将从每行中提取最后一个名称=…
。这可能适用于您(GNU-sed):
sed-En/*\这可能适合您(GNU-sed):
sed-En的/*\尝试以下命令
cat test.txt | sed 's#.*NAME=\(.* \).*#\1#'
说明:
cat test.txt | sed 's# .*NAME= \(.* \) .* #\1#'
cat fileName | sed 's# All upto NAME= extract(upto any space) skip all
请尝试以下命令
cat test.txt | sed 's#.*NAME=\(.* \).*#\1#'
说明:
cat test.txt | sed 's# .*NAME= \(.* \) .* #\1#'
cat fileName | sed 's# All upto NAME= extract(upto any space) skip all
为什么要用双引号?我在输入数据中看不到任何错误。没有它就出错了,所以为什么用双引号?我在输入数据中看不到任何内容。它在没有它的情况下出错,因此尝试此操作可能会返回比您预期的更多的内容,请记住*
是贪婪的。这可能会返回比您预期的更多的内容,请记住*
是贪婪的。