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

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

新規登録して質問してみよう
ただいま回答率
85.35%
シェルスクリプト

シェルスクリプトは、UNIX系のOSもしくはコマンドラインインタプリタ向けに記述されたスクリプト。bash/zshといったシェルによって実行されるため、このように呼ばれています。バッチ処理などに使用されており、テキストファイルに書かれた命令を順に実行します。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

Q&A

0回答

1361閲覧

macOSとLinuxでのsortコマンドの挙動の違いについて

Khronos31

総合スコア11

シェルスクリプト

シェルスクリプトは、UNIX系のOSもしくはコマンドラインインタプリタ向けに記述されたスクリプト。bash/zshといったシェルによって実行されるため、このように呼ばれています。バッチ処理などに使用されており、テキストファイルに書かれた命令を順に実行します。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

0グッド

2クリップ

投稿2020/12/08 17:59

シェルスクリプトで

bash

1echo '123 2456 381 459 550' | 6sort -n

とすると、Linuxでは-nオプションの有無に関わらず辞書順に、macOSでは-nオプションの有無に関わらず数の大きさでソートされます。
同じソースからビルドしたsortコマンドでも環境により挙動が異なるので、原因をご存知の方がいましたらご教授ください。

全角数字を数字ではないとすればLinuxでの挙動は納得です。しかし、macOSが全角数字を数字として扱うとしても、-nオプションで切り替えられなければいけないはずなので納得できません。
ちなみに、もちろん半角数字ではどちらも想定通りの挙動になります。

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

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

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

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

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

technocore

2020/12/08 22:28

MacOSはLinuxではありません。 同じコマンド・同じオプションでも動作が違うのはめずらしくありません。 man sort で比較してください。
jbpb0

2020/12/08 22:47

> 同じソースからビルドしたsortコマンドでも環境により挙動が異なる ご自分でビルドされたのですか?
jbpb0

2020/12/09 00:39

> 同じソースからビルドしたsortコマンドでも環境により挙動が異なる 質問主さんがご自分でビルドしたのではなく、OS付属のsortコマンドを使っているとして Debian 10.0 (buster)のsortのソース https://sources.debian.org/src/coreutils/8.30-3/src/sort.c/ macOS v10.15 (Catalina)のsortのソース https://opensource.apple.com/source/text_cmds/text_cmds-101.11.1/sort/sort.c.auto.html 別物ですよね もちろん、Linuxのディストリビューションや、それぞれのOSのバージョンによっても、状況は変わりますけど もし、質問主さんがご自分で同じソースからビルドされたのでしたら、全く的外れな指摘です すみません
Khronos31

2020/12/09 00:43

両OSでGNU coreutils 8.32をダウンロードしてビルドしました。また、Homebrewで導入したgsortコマンドでも同様の結果になりました。 申し訳ないのですが、実はこの実験を行ったのが半年ほど前なので、現在改めて調査しています。少々お待ち下さい。
quickquip

2020/12/09 00:57 編集

sortの挙動にはLANG環境変数が影響するはずなので、$LANGの値を確認/記録/比較/質問への補足をするといいかと思います。
jbpb0

2020/12/09 01:09

元のテキスト中のマルチバイト文字の文字コードは同じですか? たぶん今時のOSは基本UTF-8で同じだとは思いますが、念の為に、それぞれのOSの日本語入力を使うのではなく、片方のOSで作った同一のテキストファイルで比較した方がいいですよ
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

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

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

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問