linux - 如何在 linux 中使用 sed 做到这一点?

标签 linux sed

我有一个我想要的文件 - 用一些空格替换一部分 - 切到特定位置

用平局更容易理解: enter image description here

我试过了,没有成功:

sed -e "s/\(.*\)161$/ /" $FICSUP$EXTMOD

任何帮助将不胜感激。

CRE                           M                    0123456                                                         01/01/2016                         ZDCP                    H125,45                                                                                                                                                       
CRE                           M                    0123456                                                         01/01/2016                         ZDRTT                   H170                                                                                                                                                          
CRE                           M                    0123456                                                         01/01/2016                         ZDRTTN-1                H130                                                                                                                                                          
CRE                           M                    0123456                                                         01/01/2016                         ZDCPA                   H200                                                                                                                                                          
CRE                           M                    0123457                                                         01/01/2016                         ZDCP                    H124,45                                                                                                                                                       

谢谢

最佳答案

假设您想要:

  1. 删除字段末尾最后一个字段中的所有数字和逗号(空格之前)
  2. 用更小的定长空格在末尾截断定长字段中的空格

在此处使用您的数据作为输入是结果的样子 删除正则表达式中的“.”以及您需要的任意多个空格。 我用过 ”。”使空白可见。

$ cat data | sed -r "s/[0-9,]* *$/..................../"
CRE                           M                    0123456                                                         01/01/2016                         ZDCP                    H....................
CRE                           M                    0123456                                                         01/01/2016                         ZDRTT                   H....................
CRE                           M                    0123456                                                         01/01/2016                         ZDRTTN-1                H....................
CRE                           M                    0123456                                                         01/01/2016                         ZDCPA                   H....................
CRE                           M                    0123457                                                         01/01/2016                         ZDCP                    H....................

关于linux - 如何在 linux 中使用 sed 做到这一点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36128979/

相关文章:

linux - 在perl中拆分和过滤linux命令的输出

linux - "tail -f"alternate 不滚动终端窗口

linux - 使用 sed 命令更新配置文件的键值时出现问题

string - sed:如何替换包含特定字符串的所有行?

Linux命令向xml文件中插入多行

linux - Docker CE Overlay2

c++ - c++ 对象数组的延迟分配

linux - 跨行比较文件值

linux - 从 csv 文件中删除标题和空行

regex - VIM中非贪婪且固定数量的字符搜索和替换