如何在Linux中用Sed替换块文本?[已关闭]

nfg76nw0  于 5个月前  发布在  Linux
关注(0)|答案(2)|浏览(59)

已关闭。此问题需要details or clarity。目前不接受回答。
**要改进此问题吗?**通过editing this post添加详细信息并阐明问题。

上个月就关门了。
Improve this question
我有份文件想

  • 用一些空格替换一部分
  • 切割到特定位置

更容易用图表来理解:


的数据
我试过了,没有成功:

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

cyvaqqii

cyvaqqii1#

假设您要:
1.删除最后一个字段末尾的所有数字和逗号(空格之前)
1.截断固定长度字段末尾的空格,使其具有较小的固定长度空格
使用您的数据作为输入,结果如下:删除正则表达式中的.“”,其中包含您需要的空格。我使用了.“”来使空格可见。

$ 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....................

字符串

dfddblmv

dfddblmv2#

这应该可以解决问题:

sed "s/[0-9]\+[,]*[0-9]*$/         /g" your_file.txt

字符串
这将用8个空格替换行尾的每个数字(包括逗号)。

相关问题