向字符串添加分隔符

向字符串添加分隔符

我正在从 捕获的网络包中提取 ascii 数据tcpdump。我已将数据处理为单个字符串,现在需要剪切它。问题是剩下的字符串有包头,后面跟着 ascii 数据。

一个字符串示例是

+%_!^0r,zK"5÷fgf/Nametoextractanothernametoextracthostname1.1.1.12.1iwm876

现在,要提取的名称可以更改并且不同。主机名是我正在使用的变量常量。我想在主机名前面添加一个分隔符,这样我就可以使用 cut 删除字符串末尾的垃圾。

一个例子是期望的结果

+%_!^0r,zK"5÷fgf/Nametoextractanothernametoextract:hostname1.1.1.12.1iwm876

所以我可以使用 cut 来获得以下输出:

Nametoextract anothernametoextract

答案1

尾随部分似乎很简单,只需从“主机名”(和一个数字)中删除即可:

$ a='+%_!^0r,zK"5÷fgf/Nametoextractanothernametoextracthostname1.1.1.12.1iwm876'

$ echo ${a%hostname[0-9]*}

+%_!^0r,zK"5÷fgf/Nametoextractanothernametoextract

相关内容