Text 通过AWK选择列

Text 通过AWK选择列,text,awk,multiple-columns,Text,Awk,Multiple Columns,我有一组大的txt日志,看起来像 0.001 +/- 0.001 -0.001 +/- 0.001 0.001 +/- 0.001 0.002 +/- 0.001 0.001 +/- 0.001 -0.000 +/- 0.001 0.000 +/- 0.001 0.001 +/- 0.001 0.003 +/- 0.002 -0.001 +/- 0.001 从每个日志中,我只需要选择1列,删除所有间隙

我有一组大的txt日志,看起来像

    0.001 +/-  0.001
   -0.001 +/-  0.001
    0.001 +/-  0.001
    0.002 +/-  0.001
    0.001 +/-  0.001
   -0.000 +/-  0.001
    0.000 +/-  0.001
    0.001 +/-  0.001
    0.003 +/-  0.002
   -0.001 +/-  0.001
从每个日志中,我只需要选择1列,删除所有间隙,并将其打印到新的txt文件中,对于上述日志,该文件应如下所示:

0.001
-0.001
0.001
0.002
etc..

非常感谢1命令建议(可能通过AWK)如何执行

要打印文件的第一列,您可以执行以下操作:

awk '{print $1}' file
如果要跳过文件的最后一行,可以将字段存储在 变量,并每次打印上一行:

awk 'p!=""{print p}{p=$1}' file

要打印文件的第一列,可以执行以下操作:

awk '{print $1}' file
如果要跳过文件的最后一行,可以将字段存储在 变量,并每次打印上一行:

awk 'p!=""{print p}{p=$1}' file
这是:

cut -d' ' -f1 file > newFile
可能也会起作用,这是:

cut -d' ' -f1 file > newFile

使用一些正则表达式也可以工作

grep -Po '^\s*\K\S*' 


使用一些正则表达式

grep -Po '^\s*\K\S*' 


如果您没有任何仅为
0
的数字,则应执行以下操作:

awk '$0=$1' file
0.001
-0.001
0.001
0.002
0.001
0.001
0.003
-0.001
如果您有
0
或需要更健壮的版本

awk '{$0=$1}1' file
0.001
-0.001
0.001
0.002
0.001
0.001
0.003
-0.001

如果您没有任何仅为
0
的数字,则应执行以下操作:

awk '$0=$1' file
0.001
-0.001
0.001
0.002
0.001
0.001
0.003
-0.001
如果您有
0
或需要更健壮的版本

awk '{$0=$1}1' file
0.001
-0.001
0.001
0.002
0.001
0.001
0.003
-0.001

awk'{print$1}'输入_文件
lol不费力时的实际lol
awk'{print$1}'输入_文件
lol不费力时的实际lol谢谢!我应该向AWK命令添加什么,以便在处理后跳过每个日志中的最后一行(与tail命令的作用相反)。@user3470313我编辑了答案以添加跳过最后一行的解决方案谢谢!我应该向AWK命令添加什么,以便在处理后跳过每个日志中的最后一行(与tail命令的作用相反)。@user3470313我编辑了答案以添加跳过最后一行的解决方案为什么不!这可能是我在这里见过的最基本的问题,为什么不呢!这可能是我在这里见过的最基本的问题