Sed 替换模式内的未转换换行符
我有一个txt文件,其中列出了100个国家,周围没有引号。我正试图改变这一点Sed 替换模式内的未转换换行符,sed,Sed,我有一个txt文件,其中列出了100个国家,周围没有引号。我正试图改变这一点 Canada USA 进入这个 countries['Canada']=true 等等 这是我正在尝试的sed命令,其中“\1”用引号表示国家 sed -e "s/\(.*\)/countries['\1']=true" source.txt > output.txt 我得到的错误是 替换模式内的未转换换行符 我需要什么sed命令来实现我要做的事情,为什么我会出现这个错误你刚才错过了结尾的一个/:
Canada
USA
进入这个
countries['Canada']=true
等等
这是我正在尝试的sed命令,其中“\1”用引号表示国家
sed -e "s/\(.*\)/countries['\1']=true" source.txt > output.txt
我得到的错误是
替换模式内的未转换换行符
我需要什么sed命令来实现我要做的事情,为什么我会出现这个错误你刚才错过了结尾的一个
/
:
v
$ sed -e "s/\(.*\)/countries['\1']=true/" file
countries['Canada']=true
countries['USA']=true
另外请注意,您不需要捕获组,只需将所有内容与*
匹配,然后使用&
将其打印回来:
|-------------|
vv v
$ sed -e "s/.*/countries['&']=true/" a
countries['Canada']=true
countries['USA']=true
您刚刚错过了结尾处的尾随
/
:
v
$ sed -e "s/\(.*\)/countries['\1']=true/" file
countries['Canada']=true
countries['USA']=true
另外请注意,您不需要捕获组,只需将所有内容与*
匹配,然后使用&
将其打印回来:
|-------------|
vv v
$ sed -e "s/.*/countries['&']=true/" a
countries['Canada']=true
countries['USA']=true
我只想在开头和结尾添加一些内容:
sed -e "s/^/countries['/" -e "s/$/']=true/" source.txt > output.txt
我只想在开头和结尾添加一些内容:
sed -e "s/^/countries['/" -e "s/$/']=true/" source.txt > output.txt
非常感谢。你知道如果我试图用双引号而不是像这样用单引号括住
&
,国家[“&”]
为什么不起作用吗?别担心,明白了,需要避开双引号。@Leahcim可能是因为你已经在使用“
sed语句的引号。尝试使用sed'.'
它会起作用的。谢谢。你知道如果我试图用双引号而不是像这样用单引号括住&
,国家[“&”]
为什么不起作用吗?别担心,明白了,需要避开双引号。@Leahcim可能是因为你已经在使用“
sed语句的引号。试着使用sed'.'
,它就会起作用。