我有一些数据,其中每一行看起来或多或少都像这样:
11/11/2013 12:10:10,5000,3000,2000
所以使用普通的awk我会得到:
$1 = 11/11/2013
$2 = 12:10:10,5000,3000,2000
现在我想将这两个元素传递给不同的新awk函数,因为需要根据正斜杠拆分$ 1,并且需要根据逗号分割$ 2。
然而,
awk '{print $1}' $INPUT | awk -F/ '{print $3 "-" $2 "-" $1}'> $OUTPUT
我只是访问日期,然后Iam已经“通过文件”。如何多次管道?
答案 0 :(得分:1)
您也可以将awk与多个字段分隔符一起使用。请考虑以下代码:
> s='11/11/2013 12:10:10,5000,3000,2000'
> awk -F '[,/: ]+' '{for (i=1; i<=NF; i++) print i":"$i}' <<< "$s"
1:11
2:11
3:2013
4:12
5:10
6:10
7:5000
8:3000
9:2000
答案 1 :(得分:0)
您只需拨打split
功能即可。无需全新的awk
计划:
s='11/11/2013 12:10:10,5000,3000,2000'
awk '{split($1,d,"/"); split($2,t,","); print d[3]"-"d[2]"-"d[1]}' <<<"$s"
你可以用t
的组件以同样的方式做任何你需要的事情... t[1]
用于第一个等等。