私はちょうどbashに入ったので、私は最初のスクリプトを書くことに決めました。ちょっとした背景を与えるために、私はUSBスティックに接続するたびにDocumentsフォルダをUSBスティックにバックアップするスクリプトを書いていきたいと思っています。 (私はこのようなソフトウェアが存在することを認識しています)。変数を含む文字列の一部を削除する方法は?
私は、スクリプトの先頭で二つの文字列があります。私はこの
のようにsedを使用していた今までのループについてdirectoryPath="/Users/USER/Documents" # Folder I want to backup
backupPath="/Volumes/backMeUp/main" # Where I want the folder to backup
は私にこの
/Users/USER/Documents/Comics/Bleach/Volume 004/bleach_031.zip
のようなファイルへの絶対パスを提供します
newPath=`echo "$file" | sed "/Users\/USER\/Documents/s//Volumes\/backMeUp\/main/"`
しかし、スクリプトをもっと「オープン」にして他のユーザーにとって使いやすいようにしたいので、私はこの問題を取り除きたいそれを別の方法で作ってください。
私も
echo $file | sed -e "s/$directoryPath/$backupPath/"
が、運と異なる構文でこれを試してみました。
私の質問は、$ directoryPathを使用して文字列の一部を削除し、$ backupPathに置き換えるにはどうすればよいですか?
ええ、これは私が望んだものです! :)ドキュメントフォルダも構造化されているので、出力は次のようになります。/ Volumes/backMeUp/main/Comics/Bleach/Volume 004/bleach_031.zip – rojcyk