任意の文字列を含むパスワイルドカードを持つmvコマンド

任意の文字列を含むパスワイルドカードを持つmvコマンド

事前に不明なランダムな文字列を含むパスにファイルを移動しようとしています。~/.config/foldername/45fhiu84.dev-edition/subfolder/

頑張りました

mv ~/Downloads/myfile.txt ~/.config/foldername/*.dev-edition/subfolder/myfile.txt

また

mv ~/Downloads/myfile.txt ~/".config/foldername/"*".dev-edition/subfolder/myfile.txt"

答え1

Stephen Kittが指摘したように、以下は一致するディレクトリが0個または1個ある場合にのみ正しく機能します。それ以上の場合、グローバルはすべての項目に一致し、最終的にファイルを移動して最後のディレクトリを除くすべてのディレクトリ最後に一致するディレクトリを入力してください。注意深い。


シェルがアスタリスク(または疑問符)を検出すると、式に一致するパスを見つけようとします。パスの末尾に「myfile.txt」が含まれているため、シェルはそれを見つけて見つからないと一致しません。

したがって、ファイルをそのディレクトリに移動するには、次のようにします。

mv ~/Downloads/myfile.txt ~/.config/foldername/*.dev-edition/subfolder/

(つまり、ファイル名を省略します。)

ファイルを移動したい場合そして名前の変更は2段階で行われます。

mv ~/Downloads/myfile.txt ~/Downloads/newname.txt
mv ~/Downloads/newname.txt ~/.config/foldername/*.dev-edition/subfolder/

答え2

別の方法...

mv ~/Downloads/myfile.txt $(echo ~/.config/foldername/*.dev-edition/subfolder/)myfile.txt

ありがとうございます! =D

関連情報