在行首插入带有 sed 的文本会出错
Inserting text with sed at start of line gives error
我正在尝试使用 sed 修改文件,但出现我不理解的错误:
sed: -e expression #1, char 0: no previous regular expression
命令:
sed -e 's/^/"asset\//' example.txt
示例文件:
joe
john
peter
sed 来自 msys2:
which sed
sed is an external : C:\msys64\usr\bin\sed.exe
在每行的末尾添加文本时,以下内容按预期工作:
sed -e 's/$/",/' y.txt
joe",
john",
peter",
我不知道这里出了什么问题。
编辑(cygwin 上的解决方案): 尝试在 cygwin sed
上进行以下操作,刚刚在系统上测试过并且有效从命令提示符很好。在 sed
中使用 '
单引号时,我得到了与 OP 相同的错误,但是在 sed
中使用 "
时,我能够得到 [=13= 的正确行为](预期一个,在每行前添加 "
)
sed -E "s/^/\"/" Input_file
EDIT2(参考 tripleee 的评论): 您还可以将 sed 命令保存到名为 file
的文件中使用命令 s/^/\"/
然后 运行 sed
代码,用 cygwin sed
.
成功测试
sed -f file Input_file
替代解决方案(经过测试并在 cygwin 上工作): 我没有 cygwin,所以无法对其进行测试,尽管您提到的解决方案适用于 BASH。您能否尝试使用另一种方法一次?我刚刚也在 cygwin 上测试了这个解决方案,它在那里运行良好(编辑评论)。
sed 's/\(.*\)/"/' Input_file
我正在尝试使用 sed 修改文件,但出现我不理解的错误:
sed: -e expression #1, char 0: no previous regular expression
命令:
sed -e 's/^/"asset\//' example.txt
示例文件:
joe
john
peter
sed 来自 msys2:
which sed
sed is an external : C:\msys64\usr\bin\sed.exe
在每行的末尾添加文本时,以下内容按预期工作:
sed -e 's/$/",/' y.txt
joe",
john",
peter",
我不知道这里出了什么问题。
编辑(cygwin 上的解决方案): 尝试在 cygwin sed
上进行以下操作,刚刚在系统上测试过并且有效从命令提示符很好。在 sed
中使用 '
单引号时,我得到了与 OP 相同的错误,但是在 sed
中使用 "
时,我能够得到 [=13= 的正确行为](预期一个,在每行前添加 "
)
sed -E "s/^/\"/" Input_file
EDIT2(参考 tripleee 的评论): 您还可以将 sed 命令保存到名为 file
的文件中使用命令 s/^/\"/
然后 运行 sed
代码,用 cygwin sed
.
sed -f file Input_file
替代解决方案(经过测试并在 cygwin 上工作): 我没有 cygwin,所以无法对其进行测试,尽管您提到的解决方案适用于 BASH。您能否尝试使用另一种方法一次?我刚刚也在 cygwin 上测试了这个解决方案,它在那里运行良好(编辑评论)。
sed 's/\(.*\)/"/' Input_file