Import 以倍频程导入ip地址

Import 以倍频程导入ip地址,import,ip-address,octave,type-conversion,Import,Ip Address,Octave,Type Conversion,我有一个数据集,由IP地址、传输的数据包等组成。Octave正在将IP地址转换为浮点值。如何按原样导入IP地址以及要使用的数据类型(字符串?)如何以八度导入它们?GNU Octave有很多加载/保存数据的功能。这取决于您的IP地址(IPv4或IPv6?)如何存储在您的文件中,哪个功能对您来说最简单/最好 例如,如果您有一个名为“ips.txt”的文件 您可以使用它来获取单元格: octave:1> f = fopen("ips.txt", "r"); octave:2> l = te

我有一个数据集,由IP地址、传输的数据包等组成。Octave正在将IP地址转换为浮点值。如何按原样导入IP地址以及要使用的数据类型(字符串?)

如何以八度导入它们?GNU Octave有很多加载/保存数据的功能。这取决于您的IP地址(IPv4或IPv6?)如何存储在您的文件中,哪个功能对您来说最简单/最好

例如,如果您有一个名为“ips.txt”的文件

您可以使用它来获取单元格:

octave:1> f = fopen("ips.txt", "r");
octave:2> l = textscan(f, "%s");
octave:3> fclose(f);
octave:4> 
octave:4> l{1}
ans = 
{
  [1,1] = 192.168.10.4
  [2,1] = 8.8.8.8
  [3,1] = 14.32.244.8
}
octave:5>
但也许char(fread(..)或fgetl更适合您,这取决于您以后对导入的IP执行的操作

补充: 因为您评论说您的IP地址在一个浮动列表中,而不是一个固定方案(一个固定方案可能是例如:“想要的IP位于行的开头、第4列或类似于可以用awk处理的内容),所以我还添加了一个可能的regexp:

我创建了这个文件ips.txt:

192.168.10.4 some text 3.14 8.8.8.8
other 123.44 14.32.244.8
4.667.2 12.943 127.0.0.1 hello world
并使用regexp将其与此脚本一起加载

f = fopen("ips.txt", "r");
x = char(fread(f));
fclose(f);

[S, E, TE, M, T, NM, SP] = regexp (x', '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}');
这给了你一个关于M的答案:

M = 
{
  [1,1] = 192.168.10.4
  [1,2] = 8.8.8.8
  [1,3] = 14.32.244.8
  [1,4] = 127.0.0.1
}

--Andy

我的行由ip地址和数字数据组成,格式为:ipAddress,ipAddress,int-data1,….int-datan,float-data1,….float-datan。在这种情况下该怎么办?IPv4地址?它们在没有系统的情况下是混合的?我在您的注释中看不到固定的方案。在这种情况下,您可以使用正则表达式来提取生成的字符串它有(一到三个数字)(点)…我认为如果你添加一个片段(可能是前5行)会很好有一个固定的IP方案。前两列是我需要转换为字符串的IP。这里有几个示例行:1)197.148.2.59 214.94.210.8 6 1 3552 4899 1 48 1 1141395274.903832000 1141395274.903832000 2)161.194.73.174 199.14.135.17 17 1785 53 6 458 1 1141394547.317000 1141395278.368583000 3)211.143.181.211 140.223.154.73 6 1 443 2654 2 84 1 1141395283.726913000 1141395283.927282000 4) 94.82.131.157 165.28.40.41 6 1 1695 3128 3 462 1 1141394439.018936000 1141394440.402323000 5) 214.94.198.179 207.100.116.38 6 1 58702 25 4 240 1 1141394590.835600000 1141394632.835990000
M = 
{
  [1,1] = 192.168.10.4
  [1,2] = 8.8.8.8
  [1,3] = 14.32.244.8
  [1,4] = 127.0.0.1
}