2017-08-24 11 views
0

filecontainerフォルダ内のファイルをexample1フォルダに移動しようとしています。findとxargsを使用して、フォルダ内のフォルダから別のフォルダにファイルを移動するにはどうすればよいですか?

ディレクトリ構造は次のとおりです。

/example1 

/example2/filecontainer 

例1はそれに何の関係もありません。

例2は、example1.shと呼ばれることにfilecontainerと三つのファイルという名前のフォルダがありexample2.shと

をexample3.sh私は、以下のコマンドを試してみましたが、ファイルのどれもが移動されませんでした。

find ./ -name "example*.sh" | xargs -I% mv % example1 

基本的に、サブフォルダ内のファイルを別のフォルダに移動したいとします。フォルダから別のフォルダにファイルを移動することはできますが、フォルダがサブフォルダの場合は機能しません。

findとxargsを使用する必要があります。後でフィルタファイルを今日から最大1年に移動し、それらのファイルをサブフォルダからフォルダに移動するだけです。

答えて

0

findまたはxargsはまったく必要ありませんか?あなたのシェルは喜んであなたのために物事を行います。

mv -t /example1 /example2/filecontainer/example.*

あなたは確かにあなたが実際にあなたは多くのことを行うことができ、検索を必要とするより複雑なスキームを得た場合。これら

  • 使用findさん-execオプション
  • 使用find [location] [-options, such as -name] -print0 | xargs -0 mv -t {target directory}間。 -print0は、ファイル名をゼロバイトで区切って検索することに注意してください。スペースや改行などの他の区切り文字は絶対にファイル名に含めることができます。あなたの"ないが、それはのための違いを:-0はxargsのは、ゼロバイトの代わりに改行

あなたのコードに問題のために見えるのです、ところで、あなたは非常に奇妙な引用符を使用しているということですあなたのコンピュータ。

+0

私の問題は、フォルダ内にフォルダがある場合、フォルダ内のフォルダから別のフォルダにファイルを移動できないということです。私は単純に2つの別々のフォルダを持ち、1つに3つのファイルがある場合、xargsを使って移動できます... – yamaoka

関連する問題