2017-07-06 8 views
0

Ubuntu 16.04.2 LTSでコマンドラインを使用する。私は、ゼッド・ショーのLPTHWの終わりに向かって取得しています、とex46.pyするビデオに彼はすべての.pycファイルのバイトコードファイルを見つけて削除するには、次のbashコマンドを行使する:BASH; findと-execを使用して.pycファイルを削除する

find . -name "*.pyc" -exec rm {} 

ビデオでは正常にこの削除しすべてのZed Shawの.pycファイル。しかし、まったく同じコマンドを入力する時に、私は次のエラーを取得する:

find: missing argument to `-exec' 

私は私が好きなゼッド・ショーと一緒に以下のよ以来、私は、しかし、.pycファイルのファイルを削除するには、多くの方法があることを理解しますfindと-execを使ってそれを行う方法を知っている。私は間違って何をしていますか?あなたは\;

find . -name "*.pyc" -exec rm {} \; 

-execコマンドを終了する必要が

答えて

2

前者は出現しないようあなたは-exec rm-deleteを使用して活用することができ削除するファイルインスタンスごとに新しいプロセス。また、-type fオプションをチップ化して、ファイルの操作だけを適用することもできます。

find . -type f -name "*.pyc" -delete 
4

はmanページでfind -execを見てください。

Gordon Davissonによってコメントで述べたように、rmとして+でコマンドを終了するために、より効率的な場合があり、その後、より少ない回呼び出されます。

find . -name "*.pyc" -exec rm {} + 
+4

ファイルごとに 'rm'を別々に実行する代わりに、' -exec rm {} + 'を使用してバッチで削除することもできます。オハイオ州。 –

+1

ああ。ありがとう。それについて忘れてしまった... –

+0

私は\が単なる改行だと思った。私はセミコロンを見たことさえなかった。 –

関連する問題