names.list
名前のみを含むファイル名のリストがあります。ファイルはシステム全体のさまざまなサブフォルダに分散されていますが、構造は通常次のとおりです。
uniquename/uniquename2/spades/filtered/filename
定数はspades/filtered
使った次のコマンドディレクトリからファイルを移動するとき
xargs -a file_list.txt cp -t /path/to/dest
使用中にこのスレッドが見つかりました。ワイルドカード/部分ファイル名S
find . -path \*content/docs/file.xml
こんな組み合わせしてみよう
find . -path \*spades/filtered/ | xargs -a names.list cp -t $HOME/destination/
ただし、次のエラーが発生します。
cp: cannot stat `filename': No such file or directory
tldr:入力された名前のリストと部分ファイルパスのみを使用してファイルをコピーしたいと思います。
ベストアンサー1
ファイル名を繰り返し、検索パターンに追加してexecハンドルを使用してコピーします。
for i in $(<names.list)
do
find . -path \*spades/filtered/"$i" -type f -exec cp -t "$HOME/destination/" {} \;;
done
編集する:Rakesh Sharmaの答えのおかげで、ループの本文を次のように置き換えます。
find . -mindepth 5 -maxdepth 5 -path "*/spades/filtered/$i" -type f -exec cp -t "$HOME/destination/" {} +;
スポンサー。