2011-10-13 5 views

答えて

5

を置き換えるためにsedを使用することができます私は

sed -e "s/^# deb/deb/g" /etc/apt/sources.list 

代わりの

sed -e "s/^# //g" /etc/apt/sources.list 

第二sedコマンドは、いずれかの意志のコメントを解除行理由を言うと思います:

# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to 
# newer versions of the distribution. 
+1

行の先頭にアンカーする場合は' g'オプションを使用する必要はありません。 - 一度しか一致することはできません。 –

1

あなたは#

sed -e "s/^# //g" /etc/apt/sources.list 
+0

ただ1回だけmathcしたいので、sedコマンドで 'g'を残すことができます。私は確信していませんが、私のsedは、sedパラメータとして追加の '-i'を使うことで、インプレースの変更を受け入れます。元のファイルを保存したい場合は、 'sed -i.bak -e '....のようにsedを呼び出す必要があります。' FileName' – f4m8

2

accepted answer from @m0ntassar作品が、それは1つが欲しい-または必要-アクセスにはしないのリポジトリへのアクセスを開くかもしれない# debで始まるすべて行のコメントを解除します。 # debdebで始まるが、このような#でコメントアウトされている

  1. 行は:

    代わりに、私はラインをターゲットに推薦します。

  2. そして、は、具体的には、で終わり、partnerで終わります。

だから、次のように私の提案sedのコマンドは次のようになります。-eコマンドを使用してコマンド

sed -e "/^#.*deb.*partner$/s/^# //g" /etc/apt/sources.list 

はあなたに出力を表示しますが、-iフラグが所定の位置にファイルを編集します:

sudo sed -i "/^#.*deb.*partner$/s/^# //g" /etc/apt/sources.list 

この例では、この例ではsudoという名前で実行しているため、編集するにはsudoの権限が必要です。

関連する問題