移動したファイルをターゲットディレクトリに追跡

移動したファイルをターゲットディレクトリに追跡

単一のコマンドでファイルをあるディレクトリから別のディレクトリに移動し、後者にcdする方法はありますか?同様mv /a/file /another/dir && cd _ですが、2番目にディレクトリパスを入力しません。

答え1

ファイルを移動およびコピーし、次に発生する宛先ディレクトリに追跡する機能があります。Arch Linuxボードのスレッド:

# Follow copied and moved files to destination directory
cpf() { cp "$@" && goto "$_"; }
mvf() { mv "$@" && goto "$_"; }
goto() { [ -d "$1" ] && cd "$1" || cd "$(dirname "$1")"; }

その後、次のコマンドを実行してファイルを移動、コピー、および追跡できます。

mvf file /dest/dir/

答え2

あなたの.bashrc

cpcd() { cp "$1" "$2" && cd "$2"; }

それは私がしたことです。

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

cpcd blah dir/

blahをdirにコピーし、成功したらディレクトリをdir /に変更します。

答え3

次のようにして前進できます。

mv /a/file /another/dir; cd $_

または逆にすることもできます:

cd /another/dir; mv /a/file .

あなたの電話。

答え4

このオプションをテストするには、verbose mvコマンドを使用してディレクトリを抽出してから。

cd "$(mv -v file directory | grep -o '/.*/')"

関連情報