2011-07-25 14 views
2

ををstatできませんが、結果は私が必要なものexaxtlyです:DLLのリストは、以下を参照してください:CPエラー(LSとgrepと組み合わせての使用) - CPは:私はgrepのとLSを行うと

$ ls -R | grep "dll$" 
boost_chrono-vc90-gd-1_47.dll 
boost_chrono-vc90-mt-gd-1_47.dll 
boost_chrono-vc90-1_47.dll 
boost_chrono-vc90-mt-1_47.dll 
boost_date_time-vc90-gd-1_47.dll 
boost_date_time-vc90-mt-gd-1_47.dll 
boost_date_time-vc90-1_47.dll 
boost_date_time-vc90-mt-1_47.dll 
boost_filesystem-vc90-gd-1_47.dll 
boost_filesystem-vc90-mt-gd-1_47.dll 
boost_filesystem-vc90-1_47.dll 
... 

しかし、私は../を言う先にすべてのそれらのDLLをコピーしようとした、私はエラーを持って、どのファイルがコピーされません:

$ cp `ls -R | grep "dll$"` ../ 
cp: cannot stat `boost_chrono-vc90-gd-1_47.dll': No such file or directory 
cp: cannot stat `boost_chrono-vc90-mt-gd-1_47.dll': No such file or directory 
cp: cannot stat `boost_chrono-vc90-1_47.dll': No such file or directory 
cp: cannot stat `boost_chrono-vc90-mt-1_47.dll': No such file or directory 
cp: cannot stat `boost_date_time-vc90-gd-1_47.dll': No such file or directory 
cp: cannot stat `boost_date_time-vc90-mt-gd-1_47.dll': No such file or directory 
cp: cannot stat `boost_date_time-vc90-1_47.dll': No such file or directory 
cp: cannot stat `boost_date_time-vc90-mt-1_47.dll': No such file or directory 
cp: cannot stat `boost_filesystem-vc90-gd-1_47.dll': No such file or directory 
cp: cannot stat `boost_filesystem-vc90-mt-gd-1_47.dll': No such file or directory 
... 

「私はCygwinを使用して私の前のブーストビルドでこれをすることができるように使用が、私はドンなぜブーストビルドのために機能していないのか分かりません1-47。

任意の入力があります。

+0

おそらくファイルパーミッションの問題ですか? – Yaneeve

答えて

3

dllのリストが表示されますが、どのディレクトリに住んでいるのかはわかりません。ディレクトリ名は別の行に一度だけ出力され、grepで除外されます。

意味のあるものはls -Rには使用できません。出力形式がスクリプトにはあまりにも面倒です。代わりにfindを使用してください。このコマンド

find . -name "*.dll"

はあなたのDLLのフルパス名(grepを使用する必要はありません)を印刷します。このコマンド

find . -name "*.dll" -exec cp {} ..

は、代わりに自分の名前を印刷する..にファイルをコピーします。

+0

あなたは正しいです、私はファイル名を返します... findは私のためのトリックをありがとう。 – Gob00st

関連する問題