重新格式化文本文件

时间:2013-04-16 20:37:44

标签: bash cmd cygwin

我已经找到了现有的答案,但我不知所措。

我需要一个纯文本文件:

1 - 小数点到十分之一

2 - 最后一组数字需要长度为四个字符,使用零填充

3 - 删除期间 - 找到sed解决方案

4 - 删除空格 - 找到sed解决方案

这是我正在使用的文件

的示例
5.41   3.08  795
4.82   2.69   19
3.60   2.83    8
4.24   3.10 1559

需要更改为:

54310795
48270019
36280008
42311559

谢谢 - 安迪

1 个答案:

答案 0 :(得分:3)

你可以用awk一次性完成:

 awk '{$0=sprintf("%.1f%.1f%04d", $1,$2,$3);gsub(/\./,"")}1' file 

试验:

kent$  cat file
5.41   3.08  795
4.82   2.69   19
3.60   2.83    8
4.24   3.10 1559

kent$  awk '{$0=sprintf("%.1f%.1f%04d", $1,$2,$3);gsub(/\./,"")}1' file
54310795
48270019
36280008
42311559