[解決済み] mvで移動先のディレクトリが存在しない場合、作成させる方法はありますか?
2022-02-08 22:14:11
質問内容
ホームディレクトリにいるときに、foo.c を ~/bar/baz/foo.c に移動したいが、それらのディレクトリが存在しない場合、それらのディレクトリを自動的に作成する方法はありますか?
mv foo.c ~/bar/baz/
で、すべてうまくいくのでしょうか?これらのディレクトリが存在するかどうかをチェックし、存在しない場合はmkdirとmvを呼び出す単純なbashスクリプトにmvをエイリアスできるように思えますが、私は誰かがより良いアイデアを持っているかどうかを確認するためにチェックすることを考えました。
どのように解決するのですか?
このワンライナー(bashで)はどうでしょう。
mkdir --parents ./some/path/; mv yourfile.txt $_
それを打破すること。
mkdir --parents ./some/path
# if it doesn't work; try
mkdir -p ./some/path
はディレクトリ(すべての中間ディレクトリを含む)を作成し、その後。
mv yourfile.txt $_
は、ファイルをそのディレクトリに移動します ($_ は、直前のシェルコマンドに渡された最後の引数、つまり新しく作成されたディレクトリに展開されます)。
他のシェルでどこまで通用するかはわかりませんが、何かヒントになることがあるかもしれません。
このテクニックを使った例を紹介します。
$ > ls
$ > touch yourfile.txt
$ > ls
yourfile.txt
$ > mkdir --parents ./some/path/; mv yourfile.txt $_
$ > ls -F
some/
$ > ls some/path/
yourfile.txt
関連
-
[解決済み] 予期しないトークン 'then' 付近の構文エラー
-
[解決済み] エラー: gdal がインストールされているのに、R 依存パッケージのインストール中に gdal-config が見つからない
-
[解決済み] ディレクトリが存在しない場合のみmkdirする方法は?
-
[解決済み] 新しい鍵を作成せずに、SSH鍵のパスフレーズを削除するにはどうすればよいですか?
-
[解決済み] ずっとUTF-8
-
[解決済み] grep --exclude/--include構文を使って特定のファイルをgrepしないようにする
-
[解決済み] Python の open() はファイルが存在しない場合、ファイルを作成しない
-
[解決済み] Unixシェルスクリプトは、スクリプトファイルが存在するディレクトリを見つけることができますか?
-
[解決済み] Linux:コピーして宛先ディレクトリが存在しない場合、作成する。
-
[解決済み] ディレクトリをTarするが,完全な絶対パスはアーカイブに保存しない
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Bashのexportコマンド
-
[解決済み】git clone時に「'https'のリモートヘルパーが見つかりません。
-
[解決済み] カット」を使った最後のフィールドの探し方
-
[解決済み] bash: cd: そのようなファイルやディレクトリはありません
-
[解決済み] 共有メモリページとフォーク
-
[解決済み] 圧縮データが無効です。
-
[解決済み] CLIから、ファイルの最終行を表示する
-
[解決済み] VIMでの検索と置換の結果、末尾の文字が表示される
-
[解決済み] Linux:コピーして宛先ディレクトリが存在しない場合、作成する。
-
[解決済み】シェルスクリプトに渡された最後の引数を取得する