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