我有几个这样的文件:
-400.0 238.963 -6.598192e-07
-399.5(空白)-3.041492e-07
-399.0(空白)-1.541584e-07
-398.5(空白)7.299802e-08
-398.0(空白)1.602192e-07
...
所有这些都一直到行号1601。
我要打印第二列的值,直到文件末尾。
赞:
-400.0 238.963 -6.598192e-07
-399.5 238.963 -3.041492e-07
-399.0 238.963 -1.541584e-07
-398.5 238.963 7.299802e-08
-398.0 238.963 1.602192e-07
...
(空白)表示它是一列,但第2行开始没有任何值。
我尝试过:
对于f中的文件 做 awk'(NR <= 1601){print $ 2} $ f> test.dat 完成
但是缺少一些东西。
有人可以帮助我吗?
谢谢
答案 0 :(得分:1)
awk 'NR==1{col2=$2}NR>1{$2=col2 OFS $2}1' file
会做
说明:
NR==1{col2=$2}
从第一条记录中获取第二列,并将其存储到col2
NR>1{$2=col2 OFS $2}
-从记录2开始,将抓取的列col2
连接到第二个字段。1
是awk
最简单的命令。它只是打印记录。