2016-08-22 8 views
0

私はちょうどAntのスクリプトを使って作業を始めましたので、私は正しい質問をしていますが、ここではそれを聞いていません。選択したファイルセットからすべてのファイルを出力する方法は?

私は指定されたディレクトリの個々のファイルからRegExパターンを見つけると思われるスクリプトを持っていますそれを置き換えるが、コンソール上で選択したファイルのリストを出力したい。

私は問題のない検索と置換のスクリプトを作成しましたが、変更されたファイルの量(5000ファイル以下)はすでに知っています。今、私はファイルのリストを出力しようとしていますが、コンソールに表示されるファイルの量はかなり少なくなります(600ファイル以下)。

と仮定
<target name="find"> 
     <path id="find.path"> 
      <fileset dir="${custom.dir}"> 
       <include name="**/*.js"/> 
       <include name="**/*.jsp"/> 
       <include name="**/*.xml"/> 
       <include name="**/*.css"/> 
       <include name="**/*.java"/> 
       <containsregexp expression="(YEAR|DATE)(?:\s*2016,\s)"/> 
      </fileset> 
     </path> 
     <pathconvert pathsep="${line.separator}--> "    
       property="echo.path.compile"    
       refid="find.path"> 
     </pathconvert> 
     <echo>${echo.path.compile}</echo> 
    </target> 

答えて

0

:私はそれがファイルの数がコンソールに出力するには高すぎるか、私のスクリプトはここで働いて

を必要としていることだけだ場合、出力に私が持っているコード私の結果はわからないんだけどあなたのAntのXMLファイルはfind.xmlで、上記のコードを提供しており、custom.dir/Desktop/Filesです。ここで

は、Bashシェルを使用した手順は次のとおりです。

  1. file.shインサイドあなたfind.xml

  2. の同じディレクトリにfind.shという名前のファイルを作成し、以下を入れて(あなた使用することはできません${custom.dir}参照):

    for f in /Desktop/Files/*; do 
        echo $f; 
        ant -f find.xml find; 
    done 
    

拡張子にかかわらずファイルディレクトリ内のすべてのファイルをループし、ファイル名をその場所にエコーして、findfind.xmlを実行します。

端末./find.shのようにfind.shファイルを実行します。

関連する問題