2017-10-07 8 views
0

1ケースから: 私は、Pythonで、他のスクリプトを呼び出すTSCHでスクリプトを書きました。 私はcmdからpythonスクリプトを呼び出すとOKです。 私はTSCHにテストスクリプトを呼び出すと、私はエラーを取得する:引数リストが長すぎる引数リストが長すぎ、シェルスクリプト

別のケース:

git grep -e "alex" -- `git ls-files | grep -v 'bin'` 

私もエラーが出る:Argument list too longを。 問題とはどのように解決できますか?

+0

...もちろん、あなたは完全に異なるとこの技術と互換性のない何かをやっているかもしれませんが、あなたの答えは、これまでのところ非常に有用ではありませんか?まあ、おそらく引数リストが長すぎるのでしょうか?あなたはその長さを確認しましたか?すべてのシェルには制限があります。 – arkascha

+0

どうすれば確認できますか?コマンドラインから実行すると、問題はありません。 @arkascha – Alex

+0

さて、どのように呼び出されますか?たとえば、引数リストをファイルにリダイレクトすることができます。 – arkascha

答えて

0

更新回答

私はあなたが使用している特定のgitのコマンドに精通していないよ、あなたはどちらかのコメントでの質問に賢明に返信していないようです。

git ls-files | grep -v 'bin' | xargs -L 128 git grep -e "alex" -- 

オリジナル回答

解決する古典的な方法「エラー:引数リストの長すぎる」xargsである私は、あなたはおそらく、このかかわらような何かをしたいと思います。あなたが指定した名前のスクリプトを繰り返し呼び出すために使用することができます。引数をすべて使用するまでは引数の数が指定されていなければechoを指定します。

ディレクトリに100万のファイルがあるとしたら、ls *は失敗しますが、単純なlsが機能します。 (私たちは、ユーティリティの名前を提供しなかったため)、すべてがエコーされるまでの時間で128のファイル名で繰り返しechoを呼ぶであろう

ls | xargs -L 128 

:だから、私たちは一緒に使用することを置くことができます。

だから、あなたが行うことができます:

ls | xargs -L 128 yourScript.py 

を一度に128個のファイル名で繰り返しご使用のPythonスクリプトを呼び出すために。あなたは「問題になることができるか」尋ねる

+0

どうすれば 'git grep command'に統合できますか? git grep - 'git ls-files' @Mark Setchell – Alex

+0

元の質問の下で' edit'をクリックし、そのコマンドをどのように実行するか、いくつかのサンプル出力行をどのように見せるか処理される必要があります。 –

+0

あなたが実際に実行したコマンドや生成される出力の種類を見ることができません... 'grep -v bin'の部分はうまくいきますので、スキップすることができますので、' git grep -e ' alex " - git ls-files'?それは何を生み出すのですか?申し訳ありませんが、私は 'git'の大きなユーザーではありません。 –

関連する問題