Regex 替换为SED,尝试附加内容不会';行不通

Regex 替换为SED,尝试附加内容不会';行不通,regex,sed,Regex,Sed,我试图用sed来修复一个文件,但我很难找出我做错了什么。任何关于sed为什么没有像我期望的那样表现的建议都会得到赞赏 我的文件由一串行组成,每行包含一个值。这些值的内容与替换无关,只是它们总是字母数字的,并且遵循一种模式。为了创建CSV文件,我想在这些值之前加上其他数据并附加这些值 赛德在预演时表现出色: 预编(工作) sed的/\(.*)/NULL;0;400;6.2010-07-27;\1/“selection.csv 导致: NULL;0;400;6;2010-07-27;1326GP11

我试图用sed来修复一个文件,但我很难找出我做错了什么。任何关于sed为什么没有像我期望的那样表现的建议都会得到赞赏

我的文件由一串行组成,每行包含一个值。这些值的内容与替换无关,只是它们总是字母数字的,并且遵循一种模式。为了创建CSV文件,我想在这些值之前加上其他数据并附加这些值

赛德在预演时表现出色:

预编(工作)

sed的/\(.*)/NULL;0;400;6.2010-07-27;\1/“selection.csv

导致:

NULL;0;400;6;2010-07-27;1326GP11SCH
NULL;0;400;6;2010-07-27;2312BB30DUM
 ;NULL;NULL;1
2312BB30DUM ;NULL;NULL;1
这正是我所希望的

追加(失败)

但是,在追加时,情况会变得很糟糕:

sed的/\(.\)/\1;无效的无效的1/“selection.csv

导致:

NULL;0;400;6;2010-07-27;1326GP11SCH
NULL;0;400;6;2010-07-27;2312BB30DUM
 ;NULL;NULL;1
2312BB30DUM ;NULL;NULL;1
除最后一行外,待替换值在所有行上都消失了,这相当令人沮丧

很明显我做错了什么,但我想不出来


(注意:不确定这是SO还是SU材质…如果您可以并且相信它应该在那里,请随意将其移动到SuperUser)

首先对文件执行dos2unix操作,然后使用sed

$ dos2unix file
$ sed 's/$/;NULL;NULL;1/' file

先生,你真棒。非常感谢!答案被接受并投了赞成票。