Sed 命令过滤多余文本/删除

Sed 命令过滤多余文本/删除
"GET /?add=jt1777,justine,tignor,f,November_24_1983,Skeleton_,Italy HTTP/1.1" 200 34053 

有谁知道如何使用 sed 命令来删除多余的行或进行过滤

"GET /?=jt1777,f,November_24_1983,Skeleton_,Italy HTTP/1.1" 200 34053"

但仅包含名称"justine, tigor"。这就是我所需要的,只是名字和姓氏。

有任何想法吗???

答案1

也许可以应用“仅剪切”字段 2 和 3 之类的内容:

echo ..... | cut -d, -f2,3

答案2

您可以使用awk

echo "\"GET /?add=jt1777,justine,tignor,f,November_24_1983,Skeleton_,Italy HTTP/1.1\" 200 34053" | awk -F, '{print $2","$3}' 

解释:

  • -F,这里你用分隔文本,

  • '{print $2","$3}'您将打印分隔符内的字段 2 和 3 ,。如果您想打印逗号,因为它被用作分隔符,所以它不会打印,所以您必须对其进行硬编码","

相关内容