質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Cygwin

Cygwinは、Unixのような環境を、Windows上で構築させるコマンドラインインターフェースです。

シェル

シェル(shell)はUnix や Linux 系のOSで使用されるコマンドインタプリタを指します。

sh

shは、UNIX系OSのシェル操作の1つであり、最も基本的なシェルのことです。

Q&A

1回答

2830閲覧

Cygwinのsortコマンドが正常に動作せず、何も出力されません

wtnb_tkno

総合スコア6

Cygwin

Cygwinは、Unixのような環境を、Windows上で構築させるコマンドラインインターフェースです。

シェル

シェル(shell)はUnix や Linux 系のOSで使用されるコマンドインタプリタを指します。

sh

shは、UNIX系OSのシェル操作の1つであり、最も基本的なシェルのことです。

0グッド

0クリップ

投稿2017/06/13 06:20

Cygwinでシェルスクリプトを実行しています。その中でsortコマンドを実行しているのですが、あるPCではsortコマンドの結果が何も出力されずに終了してしまいます。
別のPCでは正常にsort処理されて結果が出力されています。

何故このような現象になるのか、不明です。
このような現象が発生する条件、原因等、ご存じの方がおられましたら、解決方法など、ご教授頂けないでしょうか?

sortコマンドが何も出力せずに終了する時、エラーメッセージは出ていません。

具体的には以下のコマンドを実行しています。

LC_ALL=C sort -t , -T . -k 3,3 -k 4,4n -k 7,7 target_*.csv > result.csv

対象の「target_*.csv」はCSVファイルで、120ファイル程あります。
サイズは全部で約10GBあります。

試しに、catで出力した結果を読み込ませると、正常に処理できました。
cat target_*.csv | LC_ALL=C sort -t , -T . -k 3,3 -k 4,4n -k 7,7 > result.csv

現状は取りあえず上記の方法で回避していますが、何故sortコマンド単独だと動作しないのか、何故特定のPCだけこの様になるのか、疑問です。

環境は、Windows 7、Cygwinのバージョンは「2.8.0」です。
CPUはi7-4790、メモリは32GBです。
正常に動作するPCはwin10ですが、他は同様のスペックです。(メーカーは異なります)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

これは,Windowsには同名のsortコマンドがシステムフォルダにあって,
PATHの順番によって動作が変わることが原因です。

通常はcygwinの方が前ですが,PATHの設定によってはWindowsのコマンドの方が実行されることがあります。
これを防ぐには/bin/sort/usr/bin/sortと指定して実行すると確実にcygwin側を実行できます。

なお,その他には次のようなコマンドでも発生しそうです。
cygwin側でwhich -aを実行するとそのような状況を確認しやすいでしょう。

bash

1$ which -a sort 2/usr/bin/sort 3/cygdrive/c/Windows/system32/sort 4 5$ which -a find 6/usr/bin/find 7/cygdrive/c/Windows/system32/find 8 9$ which -a ssh 10/usr/bin/ssh 11/cygdrive/c/Windows/System32/OpenSSH/ssh 12

投稿2022/02/26 13:34

ujimushi_sradjp

総合スコア2091

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問