OK、ダッシュで始まるファイルがたくさんあります-。それはあまり良くありません...そして私はそれらの名前を変更したいです。私の特定のケースでは、彼らの前にキャラクターを置きたいだけです。
動作するはずの次の行を見つけましたが、ダッシュのために動作しません。
for file in -N*.ext; do mv $file x$file; done
echo
を前に置くと、mv
たくさんの
mv -N1.ext x-f1.ext
mv -N2.ext x-f2.ext
当然ですが、最初のファイル名はオプションであると考えられます。だから私はecho
それを削除して実行すると、私はただの束を得る
mv: illegal option -- N
私はそれを変更しようとしました
for file in -N*.ext; do mv "$file" "x$file"; done
しかし、引用符は無視されているようです。一重引用符を使用しようとしましたが、変数は展開されませんでした...ここで何をしますか?
更新:引用を引用するようになりました。このような:
for file in -N*.ext; do mv '"'$file'"' '"'x$file'"'; done
それをエコーすると、正しく見えますが、実際に実行すると、
mv: rename "-N1.ext" to "x-n1.ext":: No such file or directory
どうやったらいいかわからない... ため息
「-r」を使用してCLIで始まる名前のファイルを削除する方法、Linuxで前方にダッシュして、開いているファイルにどのように、ハイフンで始まる名前そのファイルの名前を変更することはできません、どのように私は名前が始まるファイルを削除します「-」(ハイフン別名ダッシュまたはマイナス)で?
—
phuclv