2014-01-21 24 views
-1

考虑下面的文字替换毫秒第二场:在awk从第一场

2014-01-21 15:59:18.916,2014-01-21 15:59:19.232 
2014-01-21 16:02:25.917,2014-01-21 16:02:28.457 

我在寻找它变成一个awk语句:

2014-01-21 15:59:18.916,916 
2014-01-21 16:02:25.917,917 

回答

4

使用bash:

while IFS=, read -r f1 f2; do 
    echo "$f1,${f1##*.}" 
done << END 
2014-01-21 15:59:18.916,2014-01-21 15:59:19.232 
2014-01-21 16:02:25.917,2014-01-21 16:02:28.457 
END 
2014-01-21 15:59:18.916,916 
2014-01-21 16:02:25.917,917 
3

如果你只是删除第二个值逗号后添加的第一个字段的毫秒,那么这应该足够了:

$ awk -F"[.,]" '{print $1"."$2","$2}' file 
2014-01-21 15:59:18.916,916 
2014-01-21 16:02:25.917,917 

它的作用是定义两个possib与-F"[.,]",然后打印第1,第2和第2场的基础上分离。

2
sed 's/\.\([0-9]*\),.*/.\1,\1/' file