我正在尝试运行我已设置的脚本,但是当我对内容进行排序并显示文本时,内容将被打印但是sort命令被忽略并且信息只是打印出来。我使用awk尝试了这种代码格式,但忽略了sort函数,但我不确定原因。
我试过的命令:
sort -t, -k4 -k3 | awk -F, '{printf "%-18s %-27s %-15s %s\n", $1, $2, $3, $4 }' c_list.txt
我得到的输出是:
Jim Girv 199 pathway rd Orlando FL
Megan Rios 205 highwind dr Sacremento CA
Tyler Scott 303 cross st Saint James NY
Tim Harding 1150 Washton ave Pasadena CA
我需要的输出是:
Tim Harding 1150 Washton ave Pasadena CA
Megan Rios 205 highwind dr Sacremento CA
Jim Girv 199 pathway rd Orlando FL
Tyler Scott 303 cross st Saint James NY
它只是忽略了sort命令,但仍然以文件格式打印我需要的信息。 我需要它根据第四个字段进行排序,首先是州和第三个字段然后显示信息。
每个字段用逗号分隔的示例。
Field 1 Field 2 Field 3 Field 4
Jim Girv, 199 pathway rd, Orlando, FL
答案 0 :(得分:3)
问题是您正在执行sort | awk 'script' file
而不是sort file | awk 'script'
,因此sort
正在排序任何内容,因此awk
在您的原始文件上运行时不会产生任何输出从而产生输出。你应该注意到你的sort
命令因缺乏输入而被挂起,你应该在你的问题中提到它。
演示:
$ cat file
c
b
a
$ sort | awk '1' file
c
b
a
$ sort file | awk '1'
a
b
c