如果只满足标准,则使用Awk打印列

时间:2013-03-24 21:54:27

标签: bash unix

我有一个名为autodata.csv的文件,有20列数据。我打算只打印第8列中的“6”行(用于柱面)。

所以,我有这个工作,但只打印数字6,而不是所有列:

#!/bin/bash

while read x
do

echo $x | awk -F ',' ' { print $8=6} '

done

但如果我添加其余列,则会给我错误:

echo $x | awk -F',' ' { print $1":"$2":"$4":"$7":"$8=6}'

2 个答案:

答案 0 :(得分:3)

也许是这样的事情?

awk -F ',' '{ if ($8 == 6) { print $1":"$2":"$4":"$7":"$8 } }'

答案 1 :(得分:2)

怎么样:

awk -F ',' '$8 == "6" {print $0}'