gpt4 book ai didi

linux - 如何将行添加到 sed 输出的开头

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:50:37 24 4
gpt4 key购买 nike

所以我遇到的问题是我正在使用 sed 从 bash 脚本中的字符串中提取一堆对象,但我需要将相同的字符串添加到 sed 输出的开头。一个例子:

数据:

|field1|field2|select * from object1, object2|

sed 输出:

object1|
object2|

我尝试过的:

将整行粘贴到名为 LINE 的变量中,然后:

sed "s/^.*/$LINE&/g"

这导致了一个错误:

unknown option to s

echo $LINE
|field1|field2|select * from object1, object2|

所以变量没有问题。

这是期望的输出:

|field1|field2|select * from object1, object2|object1|

|field1|field2|select * from object1, object2|object2|

真诚感谢任何帮助:)

-瑞安

最佳答案

sed 正在解释字符串中的某些字符。为避免此问题,您应该使用基于字符串的方法,而不是基于正则表达式的方法。例如,使用 awk:

awk -v line="$line" '{ print line $0 }' file

这会将 shell 变量 $line 中的字符串添加到 file 中每一行的开头。

关于linux - 如何将行添加到 sed 输出的开头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32947543/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com