シェルスクリプト総合 その29at TECH
シェルスクリプト総合 その29 - 暇つぶし2ch400:デフォルトの名無しさん
19/05/04 10:30:40.72 eyQzK648.net
俺が言いたいのは、
> diff <(./hoge) <(./fuga)
が使えるかどうかは、コマンド(この場合はdiff)の
内部実装に依存するから、試してみるまでわからないということ、
ファイルじゃないと二度読みはできないとかそういう話はしてない。

<(./hoge)が使えるかどうかは、コマンド次第という話をしてる
どんなコマンドだって、一度読むだけで実装することは可能(メモリに読み込めばいい)
だから、<(./hoge)が使えるかどうかはやってみるまでわからんのだよな。
という話をしてる。

401:デフォルトの名無しさん
19/05/04 10:31:29.76 ic6F2rX1.net
>>384
というように、
cat "$1" | wc -l
したいわけじゃないんだよ。後は後出しでいろいろ言ってくるだろう

402:デフォルトの名無しさん
19/05/04 10:32:27.87 eyQzK648.net
ということを、とあるファイルを引数にするコマンドを
一時ファイルを作らないでやろうとして
あれ?となった次第。
そのコマンド、一度だけしか読まないでできるように思えるんだけどな。

403:デフォルトの名無しさん
19/05/04 10:33:45.55 eyQzK648.net
> cat "$1" | wc -l
> したいわけじゃないんだよ。
>>380 を読めばそれぐらいわかる

404:デフォルトの名無しさん
19/05/04 10:36:59.95 ic6F2rX1.net
catやwcなんぞ各コマンドの入力ソースはストリームでしかないので、できないことはないけどな。お前には教えないがw

405:デフォルトの名無しさん
19/05/04 10:38:28.81 eyQzK648.net
>>404
> これは "例" でありこのコマンドの内容についてのレスは不要
あーあ、やっちまった。コマンドの内容にレスしたね(笑)

406:デフォルトの名無しさん
19/05/04 10:40:23.60 ic6F2rX1.net
>>405
>>385 そう言うなら、当然これを受け入れろな

407:デフォルトの名無しさん
19/05/04 10:40:24.64 eyQzK648.net
例だから、実際にはcatやwcが使われているわけじゃないのに
catやwcなんぞとかwww

408:デフォルトの名無しさん
19/05/04 10:40:58.27 eyQzK648.net
>>406
自分の理解力のなさを自覚するように。
こっちは、ちゃんと例を出してる。
その例を満たせなかった時点でアウト

409:デフォルトの名無しさん
19/05/04 10:44:00.90 ic6F2rX1.net
コマンドの入力がストリームでいいならできる、他のなんか知らんコマンドがストリームじゃダメならできないでしかない。使用するコマンドによるでしかないだろにアホか

410:デフォルトの名無しさん
19/05/04 10:53:18.47 eyQzK648.net
> コマンドの入力がストリームでいいならできる、
そんな当たり前のことを言われてもなw

重要な点は、本来、該当のコマンドは「ファイルを指定する」前提であるということ
diffコマンドみたいにな。
それを半ば無理やり、ストリームから読み込ませる文法が
bashにはあるということ
> diff <(./hoge) <(./fuga)
だが、本来コマンドは、ファイル名を指定させる以上、ストリームを前提としているとは限らないわけで、
そういうコマンドに、bashを使って無理やりストリームで渡して動いたとしても、
それはたまたま動いただけいう話をしてる。
(コマンドの仕様で規定されてないならば)実装依存なので動くという前提に立ってはならない。

411:デフォルトの名無しさん
19/05/04 10:54:58.56 eyQzK648.net
あ、bashの拡張なんて俺は普通使わんけどなw
今回はたまたま利用可能だったってだけで

412:デフォルトの名無しさん
19/05/04 10:55:49.57 ic6F2rX1.net
では、なにを当たり前のことを延々と言っているのかね?
というような、お前のレスはこんなんばっかだな

413:デフォルトの名無しさん
19/05/04 10:56:37.92 eyQzK648.net
>>412
俺「やっぱできないよなぁ」
→ 俺もできないと思うよ。
で終わればいいやん。

414:デフォルトの名無しさん
19/05/04 10:58:48.90 eyQzK648.net
基本的に、俺が出した結論が正解なので、
最後の最後でここで他になにかないのか?と聞いても
新しいことは何もわからないというのがいつものパターン

415:デフォルトの名無しさん
19/05/04 11:00:31.72 ic6F2rX1.net
そうならないのは、
>>385,390
(実は答えは別にもあるのだが、お前には教えないw)

416:デフォルトの名無しさん
19/05/04 11:03:05.91 eyQzK648.net
>>415
その答えは俺も知ってるけどな(笑)

417:デフォルトの名無しさん
19/05/04 11:04:39.93 eyQzK648.net
そういや前にも、
他にもやり方あるけどお前には教えてやんないよ。ばーかばーか
みたいなレスあったなw
結局やり方なかったみたいだけどw

あ、今回は有るんですよね?知ってます。だって俺も知ってるからね!

418:デフォルトの名無しさん
19/05/04 11:05:09.17 ic6F2rX1.net
ほほー、よくわからんが解決してなにより
めずらしくちゃんと終えられてよかったよ

419:デフォルトの名無しさん
19/05/04 11:10:16.30 eyQzK648.net
ほほー(笑)

420:デフォルトの名無しさん
19/05/04 20:25:44.11 ifYIOobQ.net
やれやれ、何事かと思ったら……
「そのツール」って何だよ。それを書かない時点で相手にする価値が無いゴミだろ。

421:デフォルトの名無しさん
19/05/04 21:30:57.91 eyQzK648.net
ツール名聞いたって何の意味もないくせにw
じゃあgccとでも言っておこうか。一例として

422:デフォルトの名無しさん
19/05/05 00:09:54.93 v1YqewFO.net
チンピラ以下の馬鹿だな

423:デフォルトの名無しさん
19/05/05 01:20:16.53 kL93aIfd.net
なぜかシェルスクリプトのスレなのにコマンドの世界の話をしてますね。

424:デフォルトの名無しさん
19/05/05 01:55:58.03 BV99JfCS.net
シェルスクリプトはコマンドを使って組むもの。基本的なものですらコマンドだったり。
コマンドの動作がどうだから入出力がどうだからで組みもするもんだろう。

425:デフォルトの名無しさん
19/05/05 04:20:05.42 HUD7QHVp.net
いつものってことはこいつは常連客なのか
ちゃんとコテ付けてくれないと困るなぁ

426:デフォルトの名無しさん
19/05/05 13:10:37.85 ptHRpxR9.net
>>424
プログラムですよ?

427:デフォルトの名無しさん
19/05/05 19:12:30.87 Cb4SiVVu.net
なにいってんのこいつ

428:デフォルトの名無しさん
19/05/05 22:39:57.67 QbHFXZX+.net
やっぱワッチョイ導入しよーぜ

429:デフォルトの名無しさん
19/05/06 01:18:15.86 VbOWf0H0.net
やはりそれが目的ですか

430:デフォルトの名無しさん
19/05/06 13:16:54.80 UGCyqtDX.net
どういうこと?

431:デフォルトの名無しさん
19/05/11 15:19:07.32 D877RybE.net
[ string1 > string2 ] ってPOSIX準拠じゃないよね?
POSIXの範囲で(外部コマンドを使わずに)
文字列の大小の比較ってできたっけ?

432:デフォルトの名無しさん
19/05/12 02:15:32.41 0u/cIV/f.net
>>427
おまえさ、ここはシェルスクリプトのスレッドだぞ?
コマンド一発にしたいのなら、そういうコマンドを作ればいい。
UNIXの考え方は、あるものの組み合わせで実現できるものはそうすべきだが、無理やりあるものの組み合わせでやれなんて言ってない。

433:デフォルトの名無しさん
19/05/12 02:18:26.37 0u/cIV/f.net
>>431
どの言語でも、単に文字列を比較する構文は、どういう比較なのか分かりにくいから、まともなプログラマは避ける。

434:デフォルトの名無しさん
19/05/12 02:27:43.60 4QpB/QIi.net
これまた変なのが現れたな

435:デフォルトの名無しさん
19/05/12 18:06:37.34 VATOmp33.net
>>431
外部コマンドを使わないという制約なら
↓こういうのでは
string1='aaaaa'
string2='bbbb'
[ ${#string1} -le ${#string2} ]

436:デフォルトの名無しさん
19/05/12 19:46:54.27 OoMn1CYl.net
「文字列の比較」ができるという触れ込みで文字数の比較を
している言語やデータベースなんか聞いたこと無いなw
普通は現在のロケールに従って文字列の照合順序で比較のことを言う
百歩譲っても文字コード順とか

437:デフォルトの名無しさん
19/05/12 20:03:17.70 0u/cIV/f.net
>>436
文字列が同じ値かどうかの比較を忘れているのか?

438:デフォルトの名無しさん
19/05/12 22:54:11.71 OoMn1CYl.net
変なやつだったようだな

439:デフォルトの名無しさん
19/05/12 23:14:03.33 VATOmp33.net
文字数の比較じゃないのか。申し訳ない、俺の読解力が不足してた。
後学の為に訊いておきたいんだけども、文字列の比較がごく普通にできるプログラミング言語って例えばなんだろう。

440:デフォルトの名無しさん
19/05/12 23:17:08.65 OoMn1CYl.net
C言語

441:デフォルトの名無しさん
19/05/13 03:22:38.08 gc1mJry9.net
構文的ならC言語はできない方かなあと
他の(スクリプト)言語でいくらでもあるからそちらでもよかったんじゃないかと

442:デフォルトの名無しさん
19/05/13 04:40:36.56 0SM9rJAF.net
>>439
ベイシック


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch