Bash:在空格处拆分一条线

时间:2017-08-11 12:36:28

标签: regex bash

我正在尝试删除一条线来格式化报告,从testssl扫描的结果中删除。我正在寻找切割线,只是采取前半部分(它看起来像是在选项卡上分裂)。

示例:

Secure Client-Initiated Renegotiation     not vulnerable (OK)

我需要在我的bash脚本(grep,sed,awk等等)中使用一种方法来提取第一部分的语言。我想,TRICK是testssl有很多测试所以我需要的东西无论调用行的第一部分是什么都会起作用(我不能挂钩任何实际的单词,因为那些会改变)。

非常感谢任何帮助!

2 个答案:

答案 0 :(得分:0)

正如您所猜测的那样,您可以使用sedawk等工具来实现此目的。但是,您应该以代码的形式提供一些努力来解决您的问题(可能是下一次?)。无论如何我咬了一口:

使用awk

echo -e "Secure Client-Initiated Renegotiation\tnot vulnerable (OK)" |
awk -FS"\t" '{print $1}'

或使用sed

echo -e "Secure Client-Initiated Renegotiation\tnot vulnerable (OK)" |
sed -E 's/^([^\t]+)\t.*$/\1/'

注意:在您的情况下,请用您的命令替换echo

答案 1 :(得分:0)

我最终使用了awk。目前我正在使用:

awk -F' *' ' {print $ 1}'

哪个分区超过几个空格并给我第一个分段(发现的实际漏洞)。