ファイルがありますsample.txt
。このファイルの内容は
..some content...
# bind-address = ":7086"
# bind-address = ":8086"
ポート7086の行のコメントを外し、ポートも8888に置き換えて、最終修正ファイルが次のように見えるようにしたいと思います。
..some content...
bind-address = ":8088"
# bind-address = ":8086"
私は命令でそれをしたいsed
。それでは、正確なコマンドは何ですか?
答え1
コメントで説明したように、文字列には常にが含まれているため、# bind-address = ":7086"
これを置き換えるにはsed
検索を使用し、文字列をハードコードしてオプションを置き換えます。
sed -i 's/# bind-address = ":7086"/bind-address = ":8088"/' file2
答え2
この試み、
sed -i 's/#\(.*\)7086/\18088/g' file_content
ここでは、前後の#
すべての項目がグループ化され、行全体が(グループ1またはゾーン1)と希望のポート80887086
に置き換えられます。\1
答え3
sed '1,/#/ s/#/ /' filename > temp1
最初のパターンの発生を空白に置き換えます。
その後、ポート番号を変更します。
sed 's/7086/8086/' temp1 > filename