ディレクトリの移動と作成

ディレクトリの移動と作成

私は大きな古典であることを知っていますが、私が興味を持っている正確なケースを見つけることができませんでした。

次のように呼び出すことができる+コマンドが必要ですmkdirmv

mvdir /home/user/Documents/irs.pdf /mnt/work/45/223/insight/irs1970.pdf

通常のコマンドとmv同じように機能し、代わりにパスを生成します。no such file or directory

work/45/223/insight/存在せず、作成する必要があると思います。

私が見つけた他のすべてのコマンドはこのように呼び出すことができず、より多くの情報が必要であり、パスとファイルを直接区別する必要があります。

試み:mkdir -p /mnt/work/45/223/insight && mv /home/user/Documents/irs.pdf /mnt/work/45/223/insight/irs1970.pdf

ベストアンサー1

この問題に対するあなたの試みは公平です。処理方法を検討する方法は次のとおりです。

#!/bin/sh
src=$1
dst=$2

if [ ! -d "$dst" ]
then
    dir=${dst%/*}                   # dir path
    [ "$dir" = "$dst" ] && dir=.    # but had no dir

    mkdir -p "$dir"                 # create path
fi
mv "$src" "$dst"                    # move file

これをmvdirユーザーの場所の1つに保存し$PATHて実行可能にします。

このスクリプトは複数のソースを処理するように拡張できますが、ここではそうしませんでした。

おすすめ記事