2013-03-27 55 views
0

除了我之前的问题 - 我怎么能从一个大的文本文件中以列格式提取值。另外如果我想提取出特定列的值。该文本文件看起来像附加的图像。从一个大文本文件中提取和复制行和列

我想提取RESOL和FSC值作为文本中的给定,以便将其绘制在Numbers或EXCEL中。

更一般 - 如果我确实想稍后将值提取到Part_FSC和CC,应该做些什么。

感谢

文本文件:

Opening MRC/CCP4 file for WRITE... 
File  : map2.mrc 
NX, NY, NZ: 600 600 600 
MODE  : real 


SYMMETRY REDUNDANCY: 1 


Fraction_mask, Fraction_particle = 0.1193 0.0111 

C             sqrt  sqrt 
C NO. RESOL RING RAD FSPR FSC Part_FSC Part_SSNR Rec_SSNR  CC 
C 2 952.50 0.0017 0.09 1.000  0.000 400.0145 479.40 0.1222 
C 3 476.25 0.0033 0.19 1.000  0.000 159.3959 159.98 0.1586 
C 4 317.50 0.0050 0.92 0.999  0.000 48.2248  43.27 0.0155 
C 5 238.12 0.0067 0.42 1.000  0.000 88.3074  76.69 0.2637 
C 6 190.50 0.0083 0.48 0.999  0.000 64.0162  56.25 0.4148 
C 7 158.75 0.0100 1.41 0.992  0.000 17.1695  15.64 0.1282 
C 8 136.07 0.0117 5.56 0.954  0.000  6.8244  6.47 0.0171 
C 9 119.06 0.0133 1.49 0.993  0.000 16.1918  16.42 0.2729 
C 10 105.83 0.0150 1.68 0.990  0.000 12.8313  13.83 0.3729 
C 11 95.25 0.0167 3.55 0.969  0.000  6.8012  7.95 0.2624 
C 12 86.59 0.0183 16.00 0.830  0.000  2.5273  3.13 0.0826 
+0

也许AWK http://en.wikipedia.org/wiki/AWK – Jorge 2013-03-27 04:07:24

回答

1

未经检验的,但应该工作

awk '$1 == "C"{printf "%s\t%s\n", $3,$6}' <filename> 
+0

感谢@Tink。它运作良好!你会推荐任何文档来理解语法和正则表达式。我对此很新。 – user2209882 2013-03-28 06:34:07

+1

那里没有正则表达式。 http://www.grymoire.com/Unix/Awk.html是一个很好的起点。基本上awk工作面向行,并且认为由任意数量的空格分隔的项目作为字段分隔符。第一场是$ 1,第二场是$ 2,等等。上面awk命令的作用是检查任何一行的第一个字段是否等于“C”;如果不跳过该行,则打印出第3和第6个字段,并用TAB分隔。随时upvote /接受答案;} – tink 2013-03-28 19:19:17

相关问题