問題タブ [gnuwin32]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
70 参照

git - GNUwin32 の make は Git と競合しています。この状況を回避するにはどうすればよいですか?

コマンドラインでGNUwin32 Makeを使用するとエラーが見つかりました:

gnu make make: 割り込み/例外がキャッチされました

私のシステムは Window 7 です。私のシステム PATH 変数には Make パスと Git パスがあります。

PATH 変数から git パスを削除すると、作成時にエラーが発生しなくなりました。

だから私の質問は:

make と git コマンド間のこの競合を回避する方法はありますか? どうもありがとう〜

0 投票する
1 に答える
960 参照

tar - TAR ファイルをロードし、その *bz2 コンテンツを bzcat で sdout に抽出する

この質問に続いて、bz2 で圧縮された json ファイルを含む40 GB の TAR ファイルを効率的な方法で PostgreSQL にロードしようとしています。

上記の回答のとおり、プロセスを分離し、外部ツールを使用して次のフローを作成しようとしています。

  • ファイルを開いて、TAR (この場合は bsdtar、TAR には Windows ビルドに抽出が含まれていないため) を使用して SDOUT に抽出します (*.bz2 ファイルのみ)。
  • bzcat を呼び出して *BZ2 ファイルを抽出します (sdout にエクスポート)。
  • これを Python スクリプト 'file_handling' で開きます。このスクリプトは、各着信行をツイートにマップし、これを csv として stdout に出力します。
  • これを PSQL にパイプして、1 つの COPY コマンドにロードします。

現在、bzcat に到達するとエラーが発生します。これは、上記を実行する行を作成する必要があるものです。

TAR のコードを実行すると、TAR ファイルが CMD プロンプトに出力され、すべてがうまくいっていることがわかります。ただし、bzcat 行でエラーが発生します。

-tvv を実行すると、次のようになります。

7-zip (GUI) を使用して同じアーカイブを抽出しようとしましたが、これは引き続き機能します。これをトラブルシューティングする方法についての助けをいただければ幸いです。GNUWin32 で Windows 8.1 を実行しています。

0 投票する
2 に答える
53 参照

awk - awkまたはcutを使用して、「:」で区切られたtxtファイルの行の順序を変更します

次の行を含む example.txt というテキスト ファイルがあります。

次のように変更したいと思います。

これを行う最も簡単な方法は何ですか?いくつかの awk コマンドを試しましたが、それらを機能させることができませんでした。私がこれまでに読んだことから、カットでは不可能です。
Windows で Ubuntu または GNUwin32 を使用しています。

0 投票する
0 に答える
492 参照

makefile - Gnuwin32 make の問題

midifile.sapp.org から makefile をコンパイルしようとすると、次の出力が得られます。

これが何を意味するのか、なぜ機能しないのかわかりません。助けていただければ幸いです。

0 投票する
0 に答える
107 参照

c++ - WINAPI CreateProcess 関数を使用して Gawk で IO を実行できません

入力を受け取り、ビジネスを継続する前に前処理を行う小さなプログラムがあります。(「プログラムを作成します。正確なデータ形式はまだわかりません。」という典型的なケースです。) このステップをよりスクリプト化できるようにするために、前処理ステップに AWK を使用することにしました (データが本質的に表形式)。

背景は十分です。つまり、 CreateProcessで GAWK を呼び出そうとしています。

  • 私の GAWK は UTF-8 を想定していると確信しています (つまり、Windows の "Unicode"/UTF-16 は想定していません)。
  • これは GnuWin32-AWK であるため、ウィンドウ スタイルのパスを認識している必要があります。
  • また、通信に使用される匿名パイプが正しく設定されていることもかなり確信しています。正しく動作する test.bat スクリプトを作成しました。また、コマンド ラインに型がある場合、入力パイプ (子出力) から AWK エラー メッセージを読み取ることができます。
  • 取得できた唯一の出力は 0A 0D、つまり \n\r でした。
  • コマンド ラインに問題がない場合は、WaitForSingleObject()デッドロックを示すエラー 259 が返されます。

EDIT 1 : これは関数の簡易版です。私は今のところメインループを維持しています。どちらの場合も、ループ内で 2 回転します。

単純化する前に、パイプから次のエラーを読み取っていました。

「awk: 致命的: ソース ファイル `.\aD' を開けません」.

これで、テスト バット ファイルがWaitForSingleObject()タイムアウトになるまで関数でブロックされます。しかし、出力は OK ("PERSE PERSE PERSE") を通過し、AWK はまだ何も出力しません。調査中です。

コードの周りのホットスポットは、おそらくCreateProcess()関数の周りにあることに注意してください。残りは通常の WinAPI の冗長性です。

私のレシピ.awkは、現時点では単なるパススルーです:

上記では、paska.txt ファイルの生成を使用して、スクリプトの実行開始を示しています。そんなことは一度もありません。

これは私の equivalant.bat で、期待どおりに機能しました。

私の無能さを我慢してください。あなたの新鮮な意見が必要です。


EDIT 2:問題を解決できましたが、これらが欠けていました:

つまり、子プロセスに自分側の通信ハンドルを継承させないでください。その場合、2 つのコピーが存在するため、パイプが閉じられることはありません。

これで 1 日半の作業を費やしたのは非常に不自由でした。


EDIT 3:そして、そこにいる奇妙なグーグルのためのさらなる助けとして:

子プロセスが作成されたら、パイプの子側ハンドルのインスタンスを閉じたい! そうでない場合、Child がハンドルのコピーを閉じてもパイプは有効なままであるため、PeekNamedPipe と ReadFile は読み取り可能な 0 を返すか、無期限にブロックします (引数に応じて)。

0 投票する
1 に答える
432 参照

dos - Windows で「tr -d」をリダイレクトしますか?

trGnuWin32 の出力をファイルにリダイレクトする方法が見つかりません。

dkversion . | jq .vcsコマンドは を出力する"svn"ので、より単純なテストケースで再現するには:

Linuxで動作するので、問題は..?echo '"svn"' | tr -d '"' > foo.txtの引用に関係していると思います。"ただし、正しい構文が何であるかを理解することはできませんでした..

0 投票する
2 に答える
234 参照

windows - Hadoop のビルドに適した Windows 用の sh をどこに持っていくべきですか?

Windows で Hadoop をコンパイルするには、( BUILDING.txtファイルに)shプログラムが含まれていると言われています。残念ながら、たとえばSh-Utilsでは見つかりません。GnuWin32

sh.exeHadoop のコンパイルに必要な はどこで入手できますか?

0 投票する
1 に答える
57 参照

windows - GnuWin32 make が角括弧で奇妙なエラーを返す

GNUWin32 make を使用して Windows 7 でプロジェクトをコンパイルしようとしています。Makefile が置かれているフォルダーから make を実行していますが、次のエラーが表示されます。

何らかの理由で cmd インタープリターが角かっこを解析しないと思いますが、この表記はマニュアルに記載されており、makefile はベンダーから提供されており、正しいはずです。異なるターゲットで「make」を試みましたが、誤った行のテキストが変更されました (ターゲットはそこでマクロを定義します)。しかし、エラーは同じです。これを引き起こすメイクファイルの場所は次のようになります。