Awk脚本查询

Awk脚本查询,awk,Awk,在上面的文件中,我想在此之后打印lonrb…&第三列 有人能帮我吗 awk'{print$6,$9}'面临的问题是,783333,0,1,,行的列发生了变化。除了看起来像第7列和第10列之外,我不确定问题是什么: 780745,0,3,0,sto_un_os_fast,daily,lonrb08390,lonrs08841,1355250030,0000015139,1355265169 783333,0,1,,sto_un_os_fast,daily,lonrb08390,lonrs08842

在上面的文件中,我想在此之后打印
lonrb…
&第三列

有人能帮我吗


awk'{print$6,$9}'
面临的问题是,
783333,0,1,,
行的列发生了变化。

除了看起来像第7列和第10列之外,我不确定问题是什么:

780745,0,3,0,sto_un_os_fast,daily,lonrb08390,lonrs08841,1355250030,0000015139,1355265169
783333,0,1,,sto_un_os_fast,daily,lonrb08390,lonrs08842,1355336488,0000032370,0000000000
778143,0,3,0,sto_un_os_fast,daily,lonrb08390,lonrs08841,1355163652,0000003967,1355167619
784864,0,3,0,sto_un_os_fast,daily,lonrb07366,lonrs08842,1355351424,0000001475,1355352899
783333,0,1,,
行中,在
1
之后和
STOU un_os_fast
之前有一个空字段,但空字段仍算作字段

awk -F, '{ print $7, $10 }'
如果需要用逗号分隔输出字段,则可以使用
OFS=,
或简单地使用
printf
而不是
print

lonrb08390 0000015139
lonrb08390 0000032370
lonrb08390 0000003967
lonrb07366 0000001475
这两种方法都能产生输出:

awk -F, 'BEGIN { OFS = "," } { print $7, $10 }'
awk -F, '{ printf "%s,%s\n", $7, $10 }'

Umm-您应该能够通过指定“,”作为字段分隔符来实现这一点

lonrb08390,0000015139
lonrb08390,0000032370
lonrb08390,0000003967
lonrb07366,0000001475

awk-F,{print$7,$10}'-这将为以下行783333,0,1,sto_un_os_fast,daily,lonrb08390,lonrs088421355364880000032370提供错误的值,该行与awk-F一起工作,{print$6,$9}。我想得到这两个类似的专栏line@user1899817:那么您希望以“783333”开头的行的字段为“daily”和“1355336488”?做出这一决定的依据是什么<代码>$1==783333&&$2==0&&$3==1&&$4==”?非常感谢Jonathan……对我有效:)你说783333线需要不同的处理;你能展示你期望的输出并解释为什么awk-F,{print$7,$10}'不能满足你的需求吗?-1即使在阅读了到目前为止发布的答案并感谢@JonathanLeffler的回复后,我也不知道你想要什么。
awk -F, '{print $7, $10}