シェルスクリプトに関する総合スレッドです。
全般
・荒しは無視しましょう。
・丁寧な姿勢を心掛けましょう。
・ネチケット(死語)を意識しましょう。
前スレ:
シェルスクリプト総合 その28
http://mevius.5ch.net/test/read.cgi/tech/1532397676/
探検
シェルスクリプト総合 その29
■ このスレッドは過去ログ倉庫に格納されています
2018/09/21(金) 23:34:47.98ID:/eJt2TVD
439デフォルトの名無しさん
2019/05/12(日) 23:14:03.33ID:VATOmp33 文字数の比較じゃないのか。申し訳ない、俺の読解力が不足してた。
後学の為に訊いておきたいんだけども、文字列の比較がごく普通にできるプログラミング言語って例えばなんだろう。
後学の為に訊いておきたいんだけども、文字列の比較がごく普通にできるプログラミング言語って例えばなんだろう。
440デフォルトの名無しさん
2019/05/12(日) 23:17:08.65ID:OoMn1CYl C言語
441デフォルトの名無しさん
2019/05/13(月) 03:22:38.08ID:gc1mJry9 構文的ならC言語はできない方かなあと
他の(スクリプト)言語でいくらでもあるからそちらでもよかったんじゃないかと
他の(スクリプト)言語でいくらでもあるからそちらでもよかったんじゃないかと
442デフォルトの名無しさん
2019/05/13(月) 04:40:36.56ID:0SM9rJAF >>439
ベイシック
ベイシック
443デフォルトの名無しさん
2019/05/13(月) 15:51:16.30ID:JKDjGwzG444デフォルトの名無しさん
2019/05/13(月) 18:11:06.86ID:/95lNMvT C言語を基準にしたら文字列同士の比較は簡単な構文ではできない。
しかし、C言語よりあとにできたプログラミング言語は、文字列同士ができ、まったく同じ文字列かどうかの比較ができる。
同じか同じでないか以外の比較は、プログラミング言語によって比較の指定がことなる。
文字列の長さ比較なのか、文字コードの大小比較なのか、よくわからないコードは可読性が低く、シェルスクリプトの場合は、OSが変わっただけで比較方法がかわってしまう。
同じOSでも設定違いで変化するから、バグを埋め込むだけである。
しかし、C言語よりあとにできたプログラミング言語は、文字列同士ができ、まったく同じ文字列かどうかの比較ができる。
同じか同じでないか以外の比較は、プログラミング言語によって比較の指定がことなる。
文字列の長さ比較なのか、文字コードの大小比較なのか、よくわからないコードは可読性が低く、シェルスクリプトの場合は、OSが変わっただけで比較方法がかわってしまう。
同じOSでも設定違いで変化するから、バグを埋め込むだけである。
445デフォルトの名無しさん
2019/05/13(月) 18:27:44.64ID:biecMsFD > シェルスクリプトの場合は、OSが変わっただけで比較方法がかわってしまう。
どんなふうに?
例として2つ(以上)のOSで比較方法を書いてみてよ
どんなふうに?
例として2つ(以上)のOSで比較方法を書いてみてよ
446デフォルトの名無しさん
2019/05/13(月) 18:33:43.96ID:/95lNMvT だいたいどの種類のシェルか限定していない状態で具体例を挙げても意味がない。
447デフォルトの名無しさん
2019/05/13(月) 18:34:56.16ID:biecMsFD 意味有るでしょ?限定してないなら
例として○○のシェルならって書けばいいだけだよ
例として○○のシェルならって書けばいいだけだよ
448デフォルトの名無しさん
2019/05/13(月) 20:41:17.20ID:/95lNMvT シェルスクリプトが環境依存であることを知らない人間に何を言っても時間の無駄。
449デフォルトの名無しさん
2019/05/13(月) 20:42:45.31ID:/95lNMvT 文字コードが異なるだけで、文字照合順序がかわる。
同じシェルスクリプトでもテストコマンドの評価が変わる。
同じシェルスクリプトでもテストコマンドの評価が変わる。
450デフォルトの名無しさん
2019/05/13(月) 20:46:52.81ID:WOFscy66 OS?
451デフォルトの名無しさん
2019/05/13(月) 20:56:23.36ID:/95lNMvT >>450
2 デフォルトの名無しさん sage 2018/09/21(金) 23:36:59.94 ID:/eJt2TVD
お約束
・特記なき場合、Bourne ShellもしくはPOSIX準拠のsh可換シェルが既定です
つまりシバンは#! /bin/shです。
他のシェル(bash, zsh, ksh, (d)ash, yash, posh, fish, (t)csh)などの専用機能に依存する場合は明示しましょう。
OS X, GNU/Linuxユーザーは/bin/shの実体がbashなので*特に*注意(自覚なきbashism---シバンが#!/bin/shなのにbashに依存する構文を使っていませんか?)。
ただしDebian, Ubuntuなどでは/bin/shの実体はPOSIX sh互換のdashですのであまり気にしないでも大丈夫です。
FreeBSDユーザーは/bin/shの実体がashなので注意。
Solaris, OpenBSDユーザーは/bin/shの実体がkshなので注意。
csh/tcshでのシェルスクリプトは*まったく推奨しません*。
(参考URL: http://www.speech-lab.org/~hiroki/csh-whynot.euc)
・POSIXに準拠しましょう
有用なリンクはhttps://en.wikipedia.org/wiki/POSIXにまとめられています。
最新の仕様はこちらへ: http://pubs.opengroup.org/onlinepubs/9699919799/
(左上の「Shell & Utilities」から各コマンドやファイルの仕様を参照することができます)
・Version 7 UNIXのsh(1)に一番近いのはOpenSolaris由来のHeirloom sh、次点でDebianなどに搭載されているDash shell
Heirloom sh: http://heirloom.sourceforge.net/sh.html
Dash shell: http://gondor.apana.org.au/~herbert/dash/
・UNIXにはシェルスクリプトに便利な小さなコマンドがいろいろあります
Manページや各種リンク(http://pubs.opengroup.org/onlinepubs/9699919799/idx/utilities.htmlなど)を見ましょう。
apropos(1)ないしはman(1)の-kオプションでそれらしい単語による簡単な検索もできます。
・ワイルドカードは正規表現ではありません。
正規表現の話題はスレ違い(正規表現スレへ)
・シェルスクリプトのことをシェルってゆうな
2 デフォルトの名無しさん sage 2018/09/21(金) 23:36:59.94 ID:/eJt2TVD
お約束
・特記なき場合、Bourne ShellもしくはPOSIX準拠のsh可換シェルが既定です
つまりシバンは#! /bin/shです。
他のシェル(bash, zsh, ksh, (d)ash, yash, posh, fish, (t)csh)などの専用機能に依存する場合は明示しましょう。
OS X, GNU/Linuxユーザーは/bin/shの実体がbashなので*特に*注意(自覚なきbashism---シバンが#!/bin/shなのにbashに依存する構文を使っていませんか?)。
ただしDebian, Ubuntuなどでは/bin/shの実体はPOSIX sh互換のdashですのであまり気にしないでも大丈夫です。
FreeBSDユーザーは/bin/shの実体がashなので注意。
Solaris, OpenBSDユーザーは/bin/shの実体がkshなので注意。
csh/tcshでのシェルスクリプトは*まったく推奨しません*。
(参考URL: http://www.speech-lab.org/~hiroki/csh-whynot.euc)
・POSIXに準拠しましょう
有用なリンクはhttps://en.wikipedia.org/wiki/POSIXにまとめられています。
最新の仕様はこちらへ: http://pubs.opengroup.org/onlinepubs/9699919799/
(左上の「Shell & Utilities」から各コマンドやファイルの仕様を参照することができます)
・Version 7 UNIXのsh(1)に一番近いのはOpenSolaris由来のHeirloom sh、次点でDebianなどに搭載されているDash shell
Heirloom sh: http://heirloom.sourceforge.net/sh.html
Dash shell: http://gondor.apana.org.au/~herbert/dash/
・UNIXにはシェルスクリプトに便利な小さなコマンドがいろいろあります
Manページや各種リンク(http://pubs.opengroup.org/onlinepubs/9699919799/idx/utilities.htmlなど)を見ましょう。
apropos(1)ないしはman(1)の-kオプションでそれらしい単語による簡単な検索もできます。
・ワイルドカードは正規表現ではありません。
正規表現の話題はスレ違い(正規表現スレへ)
・シェルスクリプトのことをシェルってゆうな
452デフォルトの名無しさん
2019/05/13(月) 21:26:39.05ID:biecMsFD >>449
今その話関係ないよ?
今その話関係ないよ?
453デフォルトの名無しさん
2019/05/13(月) 22:14:58.04ID:9QsNbP8l 文字コードが異なる文字列の比較をするときって
どんなとき?
どんなとき?
454デフォルトの名無しさん
2019/05/13(月) 23:06:37.15ID:zTqgOdMW エンコーディングが変われば文字列の大小比較の結果も変わるかもしれないが
それを指して「比較方法がかわってしまう」と言ってるのか?
そうだとしても OS に依存するものではないだろうし
「シェルスクリプトの場合は」というのもおかしいように思う。
勉強不足な私のためにもう少し説明してはくれないだろうか。
ところで、シェルスクリプトで文字列の大小比較ってする?
それを指して「比較方法がかわってしまう」と言ってるのか?
そうだとしても OS に依存するものではないだろうし
「シェルスクリプトの場合は」というのもおかしいように思う。
勉強不足な私のためにもう少し説明してはくれないだろうか。
ところで、シェルスクリプトで文字列の大小比較ってする?
455デフォルトの名無しさん
2019/05/13(月) 23:16:05.42ID:T+zd+wGF するからbashで拡張されたんじゃねーの?
456デフォルトの名無しさん
2019/05/13(月) 23:19:07.49ID:TrAKdX2K >>443
それ言ったらObject.compareTo()な言語全部じゃん
それ言ったらObject.compareTo()な言語全部じゃん
457デフォルトの名無しさん
2019/05/14(火) 01:01:38.75ID:M5HaQ5Df >>455
Bashってそんなことできたのか。
Bashってそんなことできたのか。
458デフォルトの名無しさん
2019/05/14(火) 01:10:46.93ID:upCBpEzH459デフォルトの名無しさん
2019/05/14(火) 09:55:51.06ID:M5HaQ5Df ん? Bashで文字列の大小ってどうやって比較するんだ?
[ "abcd" < "cde" ]
↑こういうのエラーになるぞ。
[ "abcd" < "cde" ]
↑こういうのエラーになるぞ。
460デフォルトの名無しさん
2019/05/14(火) 10:38:41.16ID:Vb/jSjs4 [[ "abcd" < "cde" ]]
461デフォルトの名無しさん
2019/05/14(火) 11:17:21.83ID:4FRIObo4 文字列の大小は文字列長のことを言っているのか?
462デフォルトの名無しさん
2019/05/14(火) 12:48:35.79ID:CYW9GfRv >>459
[ "abcd" \< "cde" ]
[ "abcd" \< "cde" ]
463デフォルトの名無しさん
2019/05/14(火) 16:26:17.41ID:kz8JbfNJ464デフォルトの名無しさん
2019/05/14(火) 16:30:21.51ID:upCBpEzH 「文字列の比較を行う」という構文やライブラリで
文字列長の比較を行ってるものなんてあるか?
数値の比較はできるんだから「文字列長を取得する」命令だけあれば十分
だから「文字列長の比較を行う」命令なんてないだろ
文字列長の比較を行ってるものなんてあるか?
数値の比較はできるんだから「文字列長を取得する」命令だけあれば十分
だから「文字列長の比較を行う」命令なんてないだろ
465デフォルトの名無しさん
2019/05/14(火) 19:07:44.93ID:M5HaQ5Df Bashで文字列の大小比較って結局なにが基準なのかな。
466デフォルトの名無しさん
2019/05/14(火) 19:08:11.58ID:M5HaQ5Df 辞書順で先かあとかじゃね?
467デフォルトの名無しさん
2019/05/14(火) 19:08:35.08ID:M5HaQ5Df (連投すまん)自問自答みたいになっちゃったけど
辞書順でした。
辞書順でした。
468デフォルトの名無しさん
2019/05/14(火) 19:37:57.03ID:SUlCeWD6 他のプログラミング言語を知らなさすぎだろうというのが複数いすぎ
469デフォルトの名無しさん
2019/05/14(火) 20:36:33.50ID:bepTC+/0 日本語すら怪しい日本人がうようよいるご時世ですから
470デフォルトの名無しさん
2019/05/14(火) 21:13:15.31ID:Mw6Gyvjp そういうやつも日本語わかってないというのも定番
471デフォルトの名無しさん
2019/05/14(火) 23:19:21.13ID:+OBjJPst シェルスクリプトはわからないが、文字列長が同じ場合は、文字コードの大小を先頭文字から比較していき、大小比較をするプログラミング言語は存在する。
472デフォルトの名無しさん
2019/05/14(火) 23:38:13.99ID:TDDhIyFE で、その名前は?
473デフォルトの名無しさん
2019/05/15(水) 01:49:21.77ID:MwugOkQt >>472
PL/SQL
PL/SQL
474デフォルトの名無しさん
2019/05/15(水) 01:54:48.92ID:qxUiM81Y へぇ、文字列長が違ったら大小を比較しないんだ
475デフォルトの名無しさん
2019/05/15(水) 01:59:24.19ID:MwugOkQt データベースの場合、文字列の昇順、降順をSQLの仕様で意識するから、文字コードの大小比較をするプログラミング言語の仕様があるのは副産物かもしれないが、簡単にできてしまうので存在する。
年月日を文字列で持っていても過去、未来を判定できる。
年月日を文字列で持っていても過去、未来を判定できる。
476デフォルトの名無しさん
2019/05/15(水) 02:01:38.78ID:qxUiM81Y > 年月日を文字列で持っていても過去、未来を判定できる。
Wed May 15 02:01:21 DST 2019
日付を文字列で持っていても?
Wed May 15 02:01:21 DST 2019
日付を文字列で持っていても?
477デフォルトの名無しさん
2019/05/15(水) 02:04:28.58ID:MwugOkQt >>474
データベースは設定によって並び順が異なる。だから文字列長が変わったら、設定や製品によって動きが変わる。
データベースは設定によって並び順が異なる。だから文字列長が変わったら、設定や製品によって動きが変わる。
478デフォルトの名無しさん
2019/05/15(水) 02:06:57.93ID:MwugOkQt >>476
わざと前方からの比較が難しい例を挙げているが、あんたの質問には全部、答えられるよ。
わざと前方からの比較が難しい例を挙げているが、あんたの質問には全部、答えられるよ。
479デフォルトの名無しさん
2019/05/15(水) 02:08:36.95ID:MwugOkQt >>476
だいたい日本でその並び順の日付文字列をデータベースに文字列として格納するアホはいない。
だいたい日本でその並び順の日付文字列をデータベースに文字列として格納するアホはいない。
480デフォルトの名無しさん
2019/05/15(水) 02:16:25.95ID:MwugOkQt 日付を文字列で持っていても、過去、未来の判定には型変換をして比較する方がコードとしてはよいコード。
日付文字列を文字列のまま比較するのは悪い例だが、そういうコードを書く人間はいる。
ただし、9999年99月99日等、現実には存在しない年月日に意味を与えて使っているシステムはたくさんあるので、型変換して比較すると、手前でさらに判定ロジックが必要になり、コードが煩雑になる。
言っておくが私はこういう設計は、基本的に好きではないし、良いとは思っていない。
日付文字列を文字列のまま比較するのは悪い例だが、そういうコードを書く人間はいる。
ただし、9999年99月99日等、現実には存在しない年月日に意味を与えて使っているシステムはたくさんあるので、型変換して比較すると、手前でさらに判定ロジックが必要になり、コードが煩雑になる。
言っておくが私はこういう設計は、基本的に好きではないし、良いとは思っていない。
481デフォルトの名無しさん
2019/05/15(水) 02:21:07.76ID:qxUiM81Y だから日付を文字列で保つ場合は、文字列照合順で比較すれば、
大小がわかるような「特別に考慮されたフォーマット」で持たなければならないだろ
日本とか関係ねーよ。和暦で持ったら比較できないし、
1月ではなく01月って持たなければならないし
自分が普段使ってるフォーマットと一致しているからたまたまできることを
「年月日を文字列で持っていれば比較できる」って言ってしまうのは思慮が浅い
大小がわかるような「特別に考慮されたフォーマット」で持たなければならないだろ
日本とか関係ねーよ。和暦で持ったら比較できないし、
1月ではなく01月って持たなければならないし
自分が普段使ってるフォーマットと一致しているからたまたまできることを
「年月日を文字列で持っていれば比較できる」って言ってしまうのは思慮が浅い
482デフォルトの名無しさん
2019/05/15(水) 02:22:49.88ID:qxUiM81Y >>447
> データベースは設定によって並び順が異なる。だから文字列長が変わったら、設定や製品によって動きが変わる。
文字列長が変わったら、設定や製品によって動きが変わるということは
文字列長が変わらないなら、動きは変わらないってことですよね。
言いたいことがわからない?
なんで全く無関係な文字列長を引き合いに出してるの?って
皮肉を言ってるんだが
> データベースは設定によって並び順が異なる。だから文字列長が変わったら、設定や製品によって動きが変わる。
文字列長が変わったら、設定や製品によって動きが変わるということは
文字列長が変わらないなら、動きは変わらないってことですよね。
言いたいことがわからない?
なんで全く無関係な文字列長を引き合いに出してるの?って
皮肉を言ってるんだが
483デフォルトの名無しさん
2019/05/15(水) 02:31:25.71ID:MwugOkQt プログラミング言語の具体例を挙げると、今度はそのプログラミング言語がわからなくて文句を言う。
結局、あんたはなんだったらわかるのか?
結局、あんたはなんだったらわかるのか?
484デフォルトの名無しさん
2019/05/15(水) 02:33:37.63ID:MwugOkQt485デフォルトの名無しさん
2019/05/15(水) 02:37:16.84ID:n5xZGXi9 >>483
シェルスクリプトじゃね?
シェルスクリプトじゃね?
486デフォルトの名無しさん
2019/05/15(水) 02:39:28.74ID:MwugOkQt 最近、目的がわからない粘着書き込みが多いね。
487デフォルトの名無しさん
2019/05/15(水) 03:07:05.55ID:qxUiM81Y488デフォルトの名無しさん
2019/05/15(水) 03:10:25.42ID:qxUiM81Y 中途半端に抜き出すと意味が分かりづらくなるな
データベースは設定によって並び順が異なる。だから文字列長が変わったら、設定や製品によって動きが変わる。
壱弐参 と 肆伍陸 は文字列長が同じだから、設定や製品が違っても同じ結果になる可能性が高いこと
↑そういう主張をしてるよね?
データベースは設定によって並び順が異なるというのに、どういう理由で
設定や製品が違っても同じ結果(=並び順は異ならない)になる可能性が高いの?
データベースは設定によって並び順が異なる。だから文字列長が変わったら、設定や製品によって動きが変わる。
壱弐参 と 肆伍陸 は文字列長が同じだから、設定や製品が違っても同じ結果になる可能性が高いこと
↑そういう主張をしてるよね?
データベースは設定によって並び順が異なるというのに、どういう理由で
設定や製品が違っても同じ結果(=並び順は異ならない)になる可能性が高いの?
489デフォルトの名無しさん
2019/05/15(水) 03:22:29.41ID:ADONh+6a キモい奴に粘着されてるな
490デフォルトの名無しさん
2019/05/15(水) 09:19:16.65ID:GDL/z8kb こういうのはIDをNGしてやりすごすに限る。
491デフォルトの名無しさん
2019/05/15(水) 09:22:52.04ID:CNfTVKOT492デフォルトの名無しさん
2019/05/15(水) 16:16:49.74ID:rgIB+CAi マニュアルはそんな親切に書いてはいない。行動に意味はないがなんとか相手を打ち負かしたいという心情は理解できているよ。
493デフォルトの名無しさん
2019/05/15(水) 16:39:57.16ID:n5xZGXi9 >>492
なんでマニュアルなんだよ。仕様書って書いてあるじゃんよw
なんでマニュアルなんだよ。仕様書って書いてあるじゃんよw
494デフォルトの名無しさん
2019/05/15(水) 17:02:18.13ID:GDL/z8kb495デフォルトの名無しさん
2019/05/15(水) 18:03:00.31ID:rgIB+CAi 商用製品に仕様書があるのか?仕様製品の場合はマニュアルに書かれていること、実際の動作が仕様です。
496デフォルトの名無しさん
2019/05/15(水) 18:09:47.46ID:vLW8hIEw ただの些末な言い争い。どっちも
どっちでもどうでもいいだろう。いいたいことがわからないわけでもなし
どっちでもどうでもいいだろう。いいたいことがわからないわけでもなし
497デフォルトの名無しさん
2019/05/15(水) 18:12:01.21ID:rgIB+CAi 外国人は想定仕様と実態仕様が異なるから、仕様書など公開しない。
ユーザーが何かバグらしきものを見つけて報告して初めて仕様なのかバグなのかを答える。
世界基準では仕様通りにできていない、仕様どおりに作らないのが普通。
これが現実なのに、仕様書、仕様書と仕様書が存在すると思っているなら、この業界から去った方がいい。
ユーザーが何かバグらしきものを見つけて報告して初めて仕様なのかバグなのかを答える。
世界基準では仕様通りにできていない、仕様どおりに作らないのが普通。
これが現実なのに、仕様書、仕様書と仕様書が存在すると思っているなら、この業界から去った方がいい。
498デフォルトの名無しさん
2019/05/15(水) 18:14:29.75ID:rgIB+CAi このスレッドはOSの種類、シェルの種類も書かずに、質問してくるやつらばかりだけど、なんなのかな?
499デフォルトの名無しさん
2019/05/15(水) 18:18:51.23ID:vLW8hIEw いきなり細かいこと言い出すな。どうした?
500デフォルトの名無しさん
2019/05/15(水) 18:24:53.91ID:GDL/z8kb 文字列の大小比較をシェルスクリプトで行うなら
sortとか使ったらいいのかな。
[ "$(<<. sort | head -n 1\
$1\
$2\
.)" = "$1" ]
↑こういう感じで。
sortとか使ったらいいのかな。
[ "$(<<. sort | head -n 1\
$1\
$2\
.)" = "$1" ]
↑こういう感じで。
501デフォルトの名無しさん
2019/05/15(水) 18:39:25.08ID:n5xZGXi9502デフォルトの名無しさん
2019/05/15(水) 18:49:05.20ID:CNfTVKOT 「仕様書」と書いたことにそこまでの意味は無いよ。
客観的に見て信頼できるドキュメントで示しなさいということ。
実際、>>471 だけじゃ等しいかどうかの判定しかできない。
文字列の大小比較の話だというなら、どんな条件でそれが起こるのか
SQL で示すなりしてくれないと伝わらないよ。
それをしていない以上、ID:qxUiM81Y の言うことも正論と認めざるを得ない。
客観的に見て信頼できるドキュメントで示しなさいということ。
実際、>>471 だけじゃ等しいかどうかの判定しかできない。
文字列の大小比較の話だというなら、どんな条件でそれが起こるのか
SQL で示すなりしてくれないと伝わらないよ。
それをしていない以上、ID:qxUiM81Y の言うことも正論と認めざるを得ない。
503デフォルトの名無しさん
2019/05/15(水) 19:12:50.12ID:qxUiM81Y 飽きてきたなw
つーか、お馬鹿さんは、さっさと、
文字列の比較で、文字列の長さは一切関係ない。
間違っていました。すみませんでした。って謝ればいいのにw
つーか、お馬鹿さんは、さっさと、
文字列の比較で、文字列の長さは一切関係ない。
間違っていました。すみませんでした。って謝ればいいのにw
504デフォルトの名無しさん
2019/05/15(水) 21:45:08.88ID:GDL/z8kb 飽きてきたんならもう書き込むなよ、荒し。
人を煽ることしかできない癖に議論に参加するんじゃねーよ。
他の皆さん申し訳ない。警告とは言え不快な思いをさせたかもしれない。
ところでもう一度訊くけど、シェルスクリプトで文字列の大小を比較したいときは
sortを使うくらいしか方法はないのかな?
始めに質問した人が条件として設定したような「外部コマンドを使わない」のは無理っぽい……?
人を煽ることしかできない癖に議論に参加するんじゃねーよ。
他の皆さん申し訳ない。警告とは言え不快な思いをさせたかもしれない。
ところでもう一度訊くけど、シェルスクリプトで文字列の大小を比較したいときは
sortを使うくらいしか方法はないのかな?
始めに質問した人が条件として設定したような「外部コマンドを使わない」のは無理っぽい……?
505デフォルトの名無しさん
2019/05/15(水) 21:48:58.32ID:8+QjeEhQ だから大小とは文字列の長さなのかアルファベット順なのか?
出力のフォーマットはどういうのか?
二つの文字列を比較すればいいのか、複数の文字列を比較したいのか?
を書いてくれないと答えられない
出力のフォーマットはどういうのか?
二つの文字列を比較すればいいのか、複数の文字列を比較したいのか?
を書いてくれないと答えられない
506デフォルトの名無しさん
2019/05/15(水) 22:04:31.16ID:qxUiM81Y > だから大小とは文字列の長さなのかアルファベット順なのか?
文字列の(現在の)照合順序だって書いてあるし、決まってる。
文字列の比較を文字列の長さの意味で使う開発者なんていない
> 出力のフォーマットはどういうのか?
書いてない=自由なんだから、お前にとって一番都合がいい方法で答えろ
> 二つの文字列を比較すればいいのか、複数の文字列を比較したいのか?
書いてない=自由なんだから、お前にとって一番都合がいい方法で答えろ
なんで、書いてくれないと答えられないんだか
書いてなくても答えられるだろ。
文字列の(現在の)照合順序だって書いてあるし、決まってる。
文字列の比較を文字列の長さの意味で使う開発者なんていない
> 出力のフォーマットはどういうのか?
書いてない=自由なんだから、お前にとって一番都合がいい方法で答えろ
> 二つの文字列を比較すればいいのか、複数の文字列を比較したいのか?
書いてない=自由なんだから、お前にとって一番都合がいい方法で答えろ
なんで、書いてくれないと答えられないんだか
書いてなくても答えられるだろ。
507デフォルトの名無しさん
2019/05/15(水) 22:05:43.02ID:qxUiM81Y508デフォルトの名無しさん
2019/05/15(水) 23:07:34.91ID:ADONh+6a >>453もこいつだろ
509デフォルトの名無しさん
2019/05/15(水) 23:55:13.52ID:rPDD3yJh >>507
無理して回答するフリしなくていいからね
無理して回答するフリしなくていいからね
510デフォルトの名無しさん
2019/05/16(木) 01:20:41.38ID:vwl5T96/ ファイルの名前として文字列郡が与えられてたら
echo *とかで並び換えられる(つまりsortっぽい機能が得られる)んだけど
今回は(恐らく)引数として文字列が渡されるのでやっぱ無理っぽいな。
>>509荒しは無視っとくのが一番だぜ
echo *とかで並び換えられる(つまりsortっぽい機能が得られる)んだけど
今回は(恐らく)引数として文字列が渡されるのでやっぱ無理っぽいな。
>>509荒しは無視っとくのが一番だぜ
511デフォルトの名無しさん
2019/05/16(木) 01:24:03.49ID:M/ddkVVC512デフォルトの名無しさん
2019/05/16(木) 01:37:32.04ID:Hp+66qW2 文字列比較をファイル名比較にすり替えるなよ
自演も大概にしろ お前の話は詰まらないんだよ
自演も大概にしろ お前の話は詰まらないんだよ
513デフォルトの名無しさん
2019/05/16(木) 03:24:15.62ID:lo0yg8aJ >>511
どうやって必要なファイルだけ用意するの?
どうやって必要なファイルだけ用意するの?
514デフォルトの名無しさん
2019/05/16(木) 06:21:17.18ID:vwl5T96/ 「俺が見つけた方法」か……。
すげぇな。傲慢にも程ってもんがある。
すげぇな。傲慢にも程ってもんがある。
515デフォルトの名無しさん
2019/05/16(木) 06:47:03.30ID:x+0B705t >>500
http://pubs.opengroup.org/onlinepubs/9699919799/
EXTENDED DESCRIPTION
Returns the result of a decimal integer comparison if both arguments are integers;
otherwise, returns the result of a string comparison using the locale-specific collation sequence. The result of each comparison is 1 if the specified relationship is true, or 0 if the relationship is false.
だって。exprでいいんじゃないかな
http://pubs.opengroup.org/onlinepubs/9699919799/
EXTENDED DESCRIPTION
Returns the result of a decimal integer comparison if both arguments are integers;
otherwise, returns the result of a string comparison using the locale-specific collation sequence. The result of each comparison is 1 if the specified relationship is true, or 0 if the relationship is false.
だって。exprでいいんじゃないかな
516デフォルトの名無しさん
2019/05/16(木) 06:50:33.69ID:x+0B705t517デフォルトの名無しさん
2019/05/16(木) 07:51:42.22ID:0AR+7D8t いや、仕様というか使う目的が決まらないと
そもそもプログラミングが始められないわけだが
「何々に決まっている(と私は思っている)」というのはプログラミングで
もっとも危険な言葉。これで誤解して会社がなくなった例は
たくさんある。
そもそもプログラミングが始められないわけだが
「何々に決まっている(と私は思っている)」というのはプログラミングで
もっとも危険な言葉。これで誤解して会社がなくなった例は
たくさんある。
518デフォルトの名無しさん
2019/05/16(木) 07:56:40.94ID:LVaXUmAu519デフォルトの名無しさん
2019/05/16(木) 12:02:41.41ID:M/ddkVVC >>517
そのうち数値を比較する方法を教えてって言ったら
その数値は10進数なのか16進数なのか
漢数字なのかローマ数字なのか
それを決めてくれないと答えられん(←嘘、答えられる)
って言い出しそうだなw
そのうち数値を比較する方法を教えてって言ったら
その数値は10進数なのか16進数なのか
漢数字なのかローマ数字なのか
それを決めてくれないと答えられん(←嘘、答えられる)
って言い出しそうだなw
520デフォルトの名無しさん
2019/05/16(木) 12:17:22.10ID:zHdFWFB/ 別にどっちの味方をするつもりもないけど
例えば文字コード順に比較するんであれば七(U+4E03)は六(U+516D)より小さくなるし
そういう前提というか(此ちらの常識と向うの常識の共有というか)を擦り合わせることは重要だと思うけどね
まあ結局なにが言いたいかっていうと
「シェルスクリプトの話をしてください」
例えば文字コード順に比較するんであれば七(U+4E03)は六(U+516D)より小さくなるし
そういう前提というか(此ちらの常識と向うの常識の共有というか)を擦り合わせることは重要だと思うけどね
まあ結局なにが言いたいかっていうと
「シェルスクリプトの話をしてください」
521デフォルトの名無しさん
2019/05/16(木) 12:46:01.37ID:M/ddkVVC >>520
そういう話じゃなくて、どちらでもいいことなのに
なんでどちらに決めてくれないと、ワカリマセンになるのかってことだよ
文字の順番の定義と
文字の順番を判定する方法
は別の話
本当は答えを知らなくて「わかりません」っていうのが恥ずかしくて
ごまかすために質問してるんだろ?「お前の質問のせいで、わかりません」って言うために
その証拠に現在の文字列照合順序って答えているのに、それを無視し続けている。
そういう話じゃなくて、どちらでもいいことなのに
なんでどちらに決めてくれないと、ワカリマセンになるのかってことだよ
文字の順番の定義と
文字の順番を判定する方法
は別の話
本当は答えを知らなくて「わかりません」っていうのが恥ずかしくて
ごまかすために質問してるんだろ?「お前の質問のせいで、わかりません」って言うために
その証拠に現在の文字列照合順序って答えているのに、それを無視し続けている。
522デフォルトの名無しさん
2019/05/16(木) 17:48:55.94ID:zHdFWFB/ うーん。
523デフォルトの名無しさん
2019/05/16(木) 20:10:15.17ID:RxfYxsuF Unicodeでの漢数字を字の意味での大小ってどこでサポートしてんだろ?
コマンドでは無いかなあ。数字(数値)ならLibreOfficeのSpreadSheetならと思ったらこれも字の意味の数字ではなくてなんか文字(文字コード)としてかな
基本的に C standard library がサポートしている範囲でそれがそこまででしかないのはある意味当たり前といえばあたりまえだと思うけどね
いろいろ作っているのがASCIIコードで十分な外人だから。bashも4.0になってstrcmpからstrcollに変えたぐらいという
コマンドでは無いかなあ。数字(数値)ならLibreOfficeのSpreadSheetならと思ったらこれも字の意味の数字ではなくてなんか文字(文字コード)としてかな
基本的に C standard library がサポートしている範囲でそれがそこまででしかないのはある意味当たり前といえばあたりまえだと思うけどね
いろいろ作っているのがASCIIコードで十分な外人だから。bashも4.0になってstrcmpからstrcollに変えたぐらいという
524デフォルトの名無しさん
2019/05/16(木) 20:16:24.45ID:M/ddkVVC 誰もC standard libraryでサポートしてる範囲とか
大幅な制限は書けてないんだが?w
大幅な制限は書けてないんだが?w
525デフォルトの名無しさん
2019/05/16(木) 20:21:36.45ID:RxfYxsuF それが当然のように多数=スタンダードじゃねという意味なんだけどね
漢数字で大小が必要な場合があった場合は何を使うのかなあという疑問だね
漢数字で大小が必要な場合があった場合は何を使うのかなあという疑問だね
526デフォルトの名無しさん
2019/05/16(木) 21:35:37.24ID:GZCrvmyy まあ、どうしても必要なら…漢数字から変換できるよ。
https://metacpan.org/pod/Lingua::JA::Numbers
https://metacpan.org/pod/Lingua::JA::Numbers
527デフォルトの名無しさん
2019/05/16(木) 21:39:30.50ID:RxfYxsuF perlは数値比較としては漢数字対応してんのね。あくまでも数値としてだけっぽいけど
528デフォルトの名無しさん
2019/05/16(木) 21:43:04.24ID:RxfYxsuF529デフォルトの名無しさん
2019/05/16(木) 21:50:25.27ID:RxfYxsuF 勘違いしてた。Shift-JISでも同じなのか。そうだったのか...
そもそも漢数字をコンピュータで数字(数値)として扱うことなんて全くはなから考えていないのか、先人も後の人も
そもそも漢数字をコンピュータで数字(数値)として扱うことなんて全くはなから考えていないのか、先人も後の人も
530デフォルトの名無しさん
2019/05/16(木) 22:38:22.35ID:M/ddkVVC いい加減、漢数字の話はやめようか?
今は文字列の大小の話だから
今は文字列の大小の話だから
531デフォルトの名無しさん
2019/05/16(木) 22:49:36.61ID:vwl5T96/ 漢数字って日常で使うには便利だけど、コンピューターに処理させると面倒だなぁw
Unicode共同事業体によると一→1みたいな変換を文字コードレベルでサポートするかもしれないそうだけど。
Unicode共同事業体によると一→1みたいな変換を文字コードレベルでサポートするかもしれないそうだけど。
532デフォルトの名無しさん
2019/05/16(木) 22:53:13.17ID:M/ddkVVC うわ。また無視した。話すり替えようとしてるのミエミエw
533デフォルトの名無しさん
2019/05/16(木) 23:19:20.59ID:RxfYxsuF >>531
>サポートするかもしれないそうだけど
ほほう、やっとというか、なにかやる余裕ができてきたのかな
最初にああいう位置に置いた昔の日本人が悪の根源wだろな。漢数字ではなく単なる漢字としてしまったんだろうな
>サポートするかもしれないそうだけど
ほほう、やっとというか、なにかやる余裕ができてきたのかな
最初にああいう位置に置いた昔の日本人が悪の根源wだろな。漢数字ではなく単なる漢字としてしまったんだろうな
534デフォルトの名無しさん
2019/05/17(金) 00:47:55.04ID:3QkpWifH535デフォルトの名無しさん
2019/05/17(金) 00:51:43.23ID:6dJ1FJgX >>534
シェルスクリプトの話じゃないから
シェルスクリプトの話じゃないから
536デフォルトの名無しさん
2019/05/17(金) 01:06:08.58ID:3QkpWifH >>535
シェルスクリプトで漢数字の比較をする話じゃないの?
シェルスクリプトで漢数字の比較をする話じゃないの?
537デフォルトの名無しさん
2019/05/17(金) 01:08:01.02ID:6dJ1FJgX シェルスクリプトで文字列を比較するにはどうするの?
→バカ「文字列の比較って、文字列の長さの比較のことやろ」
→バカ2「文字列の比較って、漢数字の比較のことやろ」
→バカ「文字列の比較って、文字列の長さの比較のことやろ」
→バカ2「文字列の比較って、漢数字の比較のことやろ」
538デフォルトの名無しさん
2019/05/17(金) 01:26:08.63ID:0VI+S8bl >>523が理解できないバカ発見w
539デフォルトの名無しさん
2019/05/17(金) 01:32:13.98ID:AJ2dA4T/■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国側が首相答弁の撤回要求、日本側拒否 [夜のけいちゃん★]
- 中国の局長は「両手をポケット」で対峙 宣伝戦で国民に示す ★3 [蚤の市★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★4 [ぐれ★]
- 映画「鬼滅の刃」の興行収入急減、日本行き航空券大量キャンセル…中国メディア報道 [蚤の市★]
- 【音楽】Perfume・あ~ちゃんの結婚相手「一般男性」は吉田カバンの社長・吉田幸裕氏(41) 高身長で山本耕史似 [Ailuropoda melanoleuca★]
- 「タワマン天国」に飛びつく若者…SNSに転がる「成功体験」に続けるのか 湾岸エリアの業者が語った現実 [蚤の市★]
- 【悲報】日本人錯乱「集団的自衛権行使に賛成。けど自衛隊を戦わせるのは反対」 [237216734]
- 【悲報】高市効果で「1ドル=160円」が相場へwwwwwwwwwwwwwwwwwwwwwwwwwwwww 止まらぬ高市円安💥💥 [871926377]
- 小川彩佳アナ「高市総理はここまで影響が出ることを想像して発言したんでしょうか」高市ソルジャー「!!!!(シュババババ)」 [931948549]
- 今来た遊戯王やってる奴スレ
- FGOで好きなサーヴァントがアビゲイル、北斎、楊貴妃なんだが
- 自閉症が「んなっしょい」と連呼するお🏡
