根据外壳中空格的数量不同地替换空白

德加南

我仍然有一个奇怪的格式化的数据集,它是基于天气数据的,我怀疑这是SED的工作。数据要么是条目之间的空白,要么是带有标识符的2个空格。我正在尝试编写一个shell脚本以获取此数据并将其转换为CSV文件。我用AWK替换了逗号分隔的空格,但是后来我意识到空格的数量是不同的,因为有人决定做一些棘手的事情。例如,我有一个子集:

USH00011084 1897   734  3  1292  3  1972  3  1786  3  2084  3  2761  3  2753  3  2547  3  2406  3  1878  3 -9999    -9999   
USH00011084 1900 -9999    -9999     1337a 3  1936  3  2378  3  2589  3  2770  3  2872  3  2700  3  2320  3  1486  3  1100  3
USH00011084 1926 -9999     1245     1251a    1781     2240     2654     2712     2763c    2770     2110     1256a    1421   
USH00011084 1927  1209     1821     1651     2183     2467     2707     2730     2594a    2579     2081     1907      871f 3
USH00011084 1928   800b    1135     1614     1711     2218     2596     2829     2817    -9999    -9999    -9999    -9999 

我认为如果少于5个空格,可以使用SED放入逗号;如果少于5个空格,则可以使用两个逗号。但是,我还没有弄清楚。任何建议将不胜感激。

fedorqui'停止伤害'

我会说...

sed -e 's/     /,,/g' -e 's/ \+/,/g' file

或者,更干净一点:

sed -re 's/ {5}/,,/g' -e 's/ +/,/g' file

两者都会产生:

USH00011084,1897,734,3,1292,3,1972,3,1786,3,2084,3,2761,3,2753,3,2547,3,2406,3,1878,3,-9999,-9999,
USH00011084,1900,-9999,-9999,,1337a,3,1936,3,2378,3,2589,3,2770,3,2872,3,2700,3,2320,3,1486,3,1100,3
USH00011084,1926,-9999,,1245,,1251a,1781,,2240,,2654,,2712,,2763c,2770,,2110,,1256a,1421,
USH00011084,1927,1209,,1821,,1651,,2183,,2467,,2707,,2730,,2594a,2579,,2081,,1907,,,871f,3
USH00011084,1928,800b,1135,,1614,,1711,,2218,,2596,,2829,,2817,-9999,-9999,-9999,-9999,

您提到的逻辑是:

  • 用替换5个空格,,
  • 用替换一个或多个空格(第一次替换后仍然出现的空格),

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

用单个空格替换文件中不同数量的空格

来自分类Dev

获取字符串中空格字符的数量?

来自分类Dev

如何计算 SQL 中空白(非空)的数量?

来自分类Dev

如何替换gedit中空格的制表符?

来自分类Dev

如何用任意数量的空白替换空白?

来自分类Dev

根据是否为多行来不同地对齐文本?

来自分类Dev

如何根据XNA中的情况不同地绘制事物?

来自分类Dev

如何根据父div不同地检查复选框?

来自分类Dev

根据用户要求发送具有不同地址的邮件

来自分类Dev

计算字符串中空格、制表符和换行符数量的程序

来自分类Dev

用一个空格替换空白

来自分类Dev

不同地块重叠

来自分类Dev

生成不同工作表中空白单元格报告的VBA代码

来自分类Dev

在sqlloader中空格被视为null

来自分类Dev

读取具有左对齐数据但R中空格数量不一致的txt文件

来自分类Dev

使用JAXB并根据封闭标签不同地解释同一标签

来自分类Dev

Swift泛型能否帮助函数根据类来不同地处理参数?

来自分类Dev

为什么NuGet会根据您的开始位置来不同地解析版本?

来自分类Dev

如何根据preg_match不同地显示字符串中的文本?

来自分类Dev

用不同数量的字符替换行

来自分类Dev

如何将N个空格的起始数量替换为N + 2个空格的数量?

来自分类Dev

根据哪个设备唤醒 PC 使用不同的外壳?

来自分类Dev

根据每组不同值的数量进行过滤

来自分类Dev

XSD限制-空白“替换”,但不允许使用空格

来自分类Dev

在Eclipse中添加一定数量的空白查找替换

来自分类Dev

在Eclipse中添加一定数量的空白查找替换

来自分类Dev

为什么扩展使用不同数量的空格字符?

来自分类Dev

在PHP中空格后显示文本

来自分类Dev

C中空格的符号是什么?

Related 相关文章

  1. 1

    用单个空格替换文件中不同数量的空格

  2. 2

    获取字符串中空格字符的数量?

  3. 3

    如何计算 SQL 中空白(非空)的数量?

  4. 4

    如何替换gedit中空格的制表符?

  5. 5

    如何用任意数量的空白替换空白?

  6. 6

    根据是否为多行来不同地对齐文本?

  7. 7

    如何根据XNA中的情况不同地绘制事物?

  8. 8

    如何根据父div不同地检查复选框?

  9. 9

    根据用户要求发送具有不同地址的邮件

  10. 10

    计算字符串中空格、制表符和换行符数量的程序

  11. 11

    用一个空格替换空白

  12. 12

    不同地块重叠

  13. 13

    生成不同工作表中空白单元格报告的VBA代码

  14. 14

    在sqlloader中空格被视为null

  15. 15

    读取具有左对齐数据但R中空格数量不一致的txt文件

  16. 16

    使用JAXB并根据封闭标签不同地解释同一标签

  17. 17

    Swift泛型能否帮助函数根据类来不同地处理参数?

  18. 18

    为什么NuGet会根据您的开始位置来不同地解析版本?

  19. 19

    如何根据preg_match不同地显示字符串中的文本?

  20. 20

    用不同数量的字符替换行

  21. 21

    如何将N个空格的起始数量替换为N + 2个空格的数量?

  22. 22

    根据哪个设备唤醒 PC 使用不同的外壳?

  23. 23

    根据每组不同值的数量进行过滤

  24. 24

    XSD限制-空白“替换”,但不允许使用空格

  25. 25

    在Eclipse中添加一定数量的空白查找替换

  26. 26

    在Eclipse中添加一定数量的空白查找替换

  27. 27

    为什么扩展使用不同数量的空格字符?

  28. 28

    在PHP中空格后显示文本

  29. 29

    C中空格的符号是什么?

热门标签

归档