私はディレクトリを使用してスクリプトを作成しました~/deleted
(長いスクリプトです)。~/deleted
完全なスクリプトを使用した後。ユーザーがパスを~/.rm.cfg
。
私のファイルは次のように始まります。
#!/bin/bash
defaultpath=~/deleted
if [ -s ~/.rm.cfg ]
then
defaultpath=$(head -1 ~/.rm.cfg)
fi
スクリプト内のすべての項目を~/deleted
。$defaultpath
ソースファイルを保存して置き換えるためにコマンドラインでこれを行う方法はありますか?
Perlやsedを操作できません。
ベストアンサー1
sed -i 's|~/deleted|"$defaultpath"|g' file.sh
説明する:
-i
sed
ファイルをその場で変更するように指示します。s|~/deleted|"$defaultpath"|g
sed
代替項目が見つかった場所に~/deleted
あることを知らせます。"$defaultpath"
ボーナス:3行目で〜/削除を維持
これを要求しませんでしたが、サンプルスクリプトでは、~/deleted
定義の3行目を変更せずにそのままにする方が良いでしょうdefaultpath
。変える~/deleted
とは別に3行目では、次を使用します。
sed -i -e '3n' -e 's|~/deleted|"$defaultpath"|g' file.sh
これにより、3行目をスキップしたことを示すコマンドが追加されますsed
。3n
sed