【发布时间】:2016-02-21 20:29:51
【问题描述】:
鉴于以下文件结构,
9.975 1.49000000 0.295 0 0.4880 0.4929 0.5113 0.5245 2.016726 1.0472 -30.7449 1
9.975 1.49000000 0.295 1 0.4870 0.5056 0.5188 0.5045 2.015859 1.0442 -30.7653 1
9.975 1.50000000 0.295 0 0.5145 0.4984 0.4873 0.5019 2.002143 1.0854 -30.3044 2
有没有办法提取第二列中的值不等于下一行第二列中的值的每一行? IE。我想从这三行中提取第二行,因为 1.49 不等于 1.50。 也许使用 sed 或 awk?
这就是我在 MATLAB 中的做法:
myline = 1;
mynewline = 1;
while myline < length(myfile)
if myfile(myline,2) ~= myfile(myline+1,2)
mynewfile(mynewline,:) = myfile(myline,:);
mynewline = mynewline+1;
myline = myline+1;
else
myline = myline+1;
end
end
但是,我的文件现在太大了,我宁愿在终端中执行此提取操作,然后再将它们传输到我的笔记本电脑。
【问题讨论】: