sedを使用してbashファイルのコメント行を置き換えることができませんでした。

sedを使用してbashファイルのコメント行を置き換えることができませんでした。

hadoop-env.sh注釈付きのパラメータが新しいパラメータで置き換えられるようにファイルを更新しようとしています。私は全体の概念に初めてアクセスし、多くの検索の最後に次のことを行いました。

sed -i '/^export JAVA_HOME=/ s:.*:export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64\nexport HADOOP_HOME=/usr/local/hadoop\n:' $HADOOP_HOME/etc/hadoop/hadoop-env.sh

更新するファイルの部分は次のとおりです。

# The java implementation to use. By default, this environment
# variable is REQUIRED on ALL platforms except OS X!
# export JAVA_HOME=

必要な結果は次のとおりです。

# The java implementation to use. By default, this environment
# variable is REQUIRED on ALL platforms except OS X!
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export HADOOP_HOME=/usr/local/hadoop

しかし、hadoop-env.shファイルをキャプチャすると、以前と同じ内容が表示されます。Dockerfile次のコマンドを使用して実行中であることに注意してください。

RUN sed -i '/^export JAVA_HOME=/ s:.*:export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64\nexport HADOOP_HOME=/usr/local/hadoop\n:' $HADOOP_HOME/etc/hadoop/hadoop-env.sh

私が何を見逃しているのかわかりません。助けてくれてありがとう。

ベストアンサー1

コメントにこれに対する回答がありました。

変更:

sed -i '/^export JAVA_HOME=/ s:.*:export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64\nexport HADOOP_HOME=/usr/local/hadoop\n:' $HADOOP_HOME/etc/hadoop/hadoop-env.sh

受信者:(2文字のみ追加)

sed -i '/^# export JAVA_HOME=/ s:.*:export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64\nexport HADOOP_HOME=/usr/local/hadoop\n:' $HADOOP_HOME/etc/hadoop/hadoop-env.sh

おすすめ記事