###前提・実現したい事
シェルスクリプト(sh)でディレクトリ名をfindで検索して、その結果を受け取って一括リネームするようなスクリプトを書きたいのですが、上手く行きません。testというディレクトリをfindで検索して、それをtest2という名前にリネームしたいです。
###該当のソースコード
#!/bin/sh for i in $(find . -name "test" -type d -print) do echo "mv $i $i"2 mv $i ${i2} done
###エラーメッセージ
usage: mv [-f | -i | -n] [-hv] source target mv [-f | -i | -n] [-v] source ... directory
###試したこと
調べるとディレクトリ名にスペースが入っているとこういうエラーが出るとか出てきたのですが、ディレクトリ名は全角の漢字と半角の英数字でスペースは入っていません。
一応
mv "$i" "$i2"
という風に書き換えてはみたのですが、
mv: rename ディレクトリ名 to : No such file or directory
と表示され、リネームに失敗しました。
ちなみにechoで表示させた文をそのままコピペすると、mvコマンドは正常に動作しました。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/12/05 14:07
2019/12/05 17:23