Linuxでは、時々次のようにファイル名を変更します。
mv dir1/dir2/dir3/file.txt dir1/dir2/dir3/file.txt.old
別のディレクトリに移動するのではなく、ファイルの名前を変更するだけです。
そのコマンドの簡略版を実行できるコマンドはありますか?私は次のようなものを考えています:
mv dir1/dir2/dir3/file.txt file.txt.old
または、次のようなもの(名前に追加するだけです):
mv dir1/dir2/dir3/file.txt {}.old
私の目標は、完全なパスを再度指定する必要がないことです。
私が書いたそれらの「例」が機能しないことは知っていますが、それは私が何を達成したいのかという考えにすぎません。
ディレクトリにcdする必要はありません。
(cd dir1/dir2/dir3 && exec mv file.txt{,.old})
は、外部コマンドの呼び出し中にing exec
を回避fork()
するため、サブプロセスなしのコードと実質的に同じパフォーマンスを持っていることに注意してください。