我正在从 捕获的网络包中提取 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