Linux 从文件中打印一行

Linux 从文件中打印一行,linux,awk,Linux,Awk,我正在尝试读取一个如下所示的文件: 90 80 70 60 这是我的密码: #!/bin/bash awk '{for(i=0; i<NF; i++) printf("%d\n",$i)}' #/bin/bash awk中的awk'{for(i=0;i字段是基于1的,而不是基于0的 你需要说: awk '{for(i=1; i<=NF; i++) printf("%d\n",$i)}' 您的问题是,$0是行,$1到$NF是字段。因此您需要从1开始,而不是从0开始

我正在尝试读取一个如下所示的文件:

90 80 70 60
这是我的密码:

    #!/bin/bash
    awk '{for(i=0; i<NF; i++) printf("%d\n",$i)}'
#/bin/bash

awk
中的awk'{for(i=0;i字段是基于1的,而不是基于0的

你需要说:

awk '{for(i=1; i<=NF; i++) printf("%d\n",$i)}'

您的问题是,
$0
是行,
$1
$NF
是字段。因此您需要从
1
开始,而不是从
0
开始,并且您需要使用
作为单行,您可以在
awk
中使用

echo "90 80 70 60" | awk '{while(i++<NF) print $i}'
90
80
70
60

echo“90807060”| awk'{while(i++@Tree55Topz
太棒了!你知道我可以从最小到最大排序的方法吗?比如sort-nr?@Tree55Topz你可以通过管道排序到
sort-n
。说
sort-nr
会按相反的顺序排序,即从大到小。@devnull语法是怎么回事?我做到了awk'{for(i=1;i@Tree55Topz假设您的文件如您所述为1行,
awk'{for(i=1;ii如果您只想在一行上对输入进行排序,请尝试
perl-pale'$\join(“,sort@F)”
awk '{ for (i = 1; i <= NF; i++) printf ("%d\n", $i) }' <inputFile
tr ' ' '\n' <inputFile
1 2 3 4
90 80 70 60
1
2
3
4
90
80
70
60
tr ' ' '\n' <inputFile | sort -n
1
2
3
4
60
70
80
90
echo "90 80 70 60" | awk '{while(i++<NF) print $i}'
90
80
70
60