2011-11-09 17 views
0
ここ

は、私が働いて取得しようとしていますものです:sedを使ってファイル内の行を別の行に置き換える?

私は設定ファイルに以下の行を持って

subscribed_pages[]=WikiPage.ChildPage.* 

私は、ファイルの束を歩くとsubscribed_pages[]=で始まり、なし、その行を交換したいですラインの残りの部分が問題なのかどうか、私はそれが見えるようにしたい。

subscribed_pages[]=* 

私はこれを1つのファイルで行い、次のエラーが発生することを試みています。

sed 's/subscribed_pages[]=.*/subscribed_pages[]=\*/' -i 1288079906.93.57631 
sed: -e expression #1, char 46: unterminated `s' command 

答えて

6

はあなたの検索パターンであなたの[]\[などと\]をエスケープする必要があります。あなたのブラケットをエスケープに加えて、あなたは交換部品で再び試合を入力して回避することができ

$ echo 'subscribed_pages[]=WikiPage.ChildPage.*' \ 
    | sed -e 's/subscribed_pages\[\]=.*/subscribed_pages[]=\*/' 
subscribed_pages[]=* 
2

sed -r 's/(subscribed_pages\[\]=).*/\1\*/' 

\ 1 \ 9に正規表現話すのn番目のparenthetized文字列(「グループ」を参照してください。 )

関連する問題