2014-06-30 898 views
0

我有一個約500行信息​​的文本文件。 我想串sed錯誤:sed:-e表達式#1,字符12:未知選項,以's'

"https://otrs.confidential/index.pl?Action=AgentTicketZoom;TicketID=," 

添加到每個行的開頭,跳過第一行

我想出了這個命令

sed -e "2s/^/https://otrs.confidential/index.pl?Action=AgentTicketZoom;TicketID=," C:\Users\Desktop\newfile.txt 

但是當我運行命令我收到一條錯誤消息

錯誤去如下

sed: -e expression #1,char 12: unknown option to 's 

回答

1

試試這個:

sed -e "[email protected]^@https://otrs.confidential/index.pl?Action=AgentTicketZoom;TicketID=,@" 

例子:

echo -e "123\nabcdef" | sed -e "[email protected]^@https://otrs.confidential/index.pl?Action=AgentTicketZoom;TicketID=,@" 
123 
https://otrs.confidential/index.pl?Action=AgentTicketZoom;TicketID=,abcdef 

說明:

我使用的@代替/所以你不需要逃避它。

+0

我應該嘗試的例子或者試試這個: – dHumphrey

+0

你應該嘗試瞭解如何工作的事情:)但你應該這樣做:'sed的-e「2S @^@ https://開頭OTRS .confidential/index.pl?Action = AgentTicketZoom; TicketID =,@「C:\ Users \ Desktop \ newfile.txt」 – Tiago

+0

這有效,但僅適用於第二行。我如何將它附加到**每行** – dHumphrey

0

你必須逃避前傾的斜線。所以:http:\/\/etcetc\/etc,或使用另一個分隔符(所以,而不是/使用#例如)

+0

就這樣,我知道這是爲了將來的參考,拆分器@和#用於/ \/\的resplacement中。 – dHumphrey

1

如果您的搜索或替換模式包含它,請使用不同的分隔符。如果要替換多行,則需要指定一個範圍(2,$)。例如:

sed '2,$s~^~https://otrs.confidential/index.pl?Action=AgentTicketZoom;TicketID=~' C:\Users\Desktop\newfile.txt 
相關問題