移動するファイルを選択した後にターゲットフォルダを作成できますか?

移動するファイルを選択した後にターゲットフォルダを作成できますか?

別のディレクトリ内の複数のファイルを手動で処理する必要がある特定の問題に直面しました。選択したファイルのターゲットフォルダを動的に作成できるかどうかを知りたいです。

答え1

これを行うスクリプトは次のとおりです。POSIXシェルでは思ったほど簡単ではありません。しかし、bashでは簡単です。

#!/bin/bash

mkdir -p "${@: -1}" || exit 1
mv "$@"

Bash-ismを使用して最後の引数を取得しますmkdir。 mkdirには-pディレクトリチェーン全体を生成するオプションがあるので、 "dir / subdir"を生成しようとすると機能します。

答え2

冗長性mvが存在しない場合に移動するディレクトリを作成する方法はありますか?

Bashスクリプトとエイリアスを使用して、これに「新しいコマンド」を作成できます。

cmv.sh

#!/bin/bash

mkdir --parents "$2"; mv "$1" "$_"

そして~/.bashrc次の行を追加してください:

alias cmv="/path/to/cmv.sh"

その後、次のように使用できます。

~# cmv **/*.zip destination

これで目的地が作成されます。

関連情報