web-dev-qa-db-ja.com

任意のディレクトリから現在のディレクトリに最初のファイルのみを移動する

1POSCARSという2つのディレクトリがあり、POSCARSディレクトリにファイルがあります。 1ディレクトリにいる間に、POSCARSディレクトリから1ディレクトリに最初のファイルのみを移動したい。

アドバイスをありがとう

1
tubey

ディレクトリ内の最初のファイルのみを現在の作業ディレクトリに移動する場合、forを使用できます。これは、ファイルを順番にループ処理するためです。置換/path/to/POSCARSディレクトリへの実際のパスで指定し、最初にechoを使用して次のようにテストします。

for file in /path/to/POSCARS/* ; do echo mv -v -- "$file" . ; break ; done

これにより、POSCARSで最初のファイルが検索され、現在の作業ディレクトリへの移動がシミュレートされます。必要なものが表示されている場合は、echoなしでコマンドを再実行して、実際にファイルを移動します。

for file in /path/to/POSCARS/* ; do mv -v -- "$file" . ; break ; done
  • mv -v --ファイルを移動してアクションを報告し、それ以降のオプションを受け入れない
  • .は現在の作業ディレクトリです
  • breakは、最初の反復後にループを中断することを意味するため、最初の反復を見つけた後にファイルの移動を停止します
2
Zanna

問題のファイルを移動するための適切な権限があると仮定します。私がディレクトリにいると仮定し、他のディレクトリをここに移動したいと思います。

~/FirstDir$ mv POSCARS/ .

一般的なコマンドになります。ドット、[。]はここに移動すると言います。

0
j0h