シェルスクリプト総合 その31

■ このスレッドは過去ログ倉庫に格納されています
2019/08/10(土) 23:17:50.64ID:L+B8OP2P
シェルスクリプトに関する総合スレッドです。

全般
・荒しは無視しましょう。
・丁寧な姿勢を心掛けましょう。
・ネチケット(死語)を意識しましょう。
・「○○(他の言語)でいいやん」は禁止。他のスレに行ってください。

シェルスクリプト総合 その30
https://mevius.5ch.net/test/read.cgi/tech/1561989867/
2019/08/24(土) 21:05:39.09ID:wirrzXpF
>>353
つまらない
2019/08/24(土) 23:30:16.23ID:AZIGFNIF
そりゃおめーを笑わす目的じゃなくて俺が笑う目的で書き込んだんだからなw
つまらないのは当然
2019/08/24(土) 23:33:11.08ID:GJDIT1Pg
https://www.weblio.jp/content/%E3%81%A4%E3%81%BE%E3%82%89%E3%81%AA%E3%81%84

B とりあげるだけの価値がない。取るに足りない。下らない。 「 − ・ないものを買ってしまった」 「 − ・ないうわさ」 〔「つまらないものですが」などの形で,相手に贈る品物を謙遜していう場合にも用いられる。「−・ないものですが,召し上がって下さい」〕
2019/08/24(土) 23:50:48.54ID:vHj0a3Gd
笑ってるんじゃなくて笑われてるだけでは
2019/08/25(日) 00:04:21.62ID:a7DQLwJd
原理主義者の自称神様には何を言ってもムダ
2019/08/25(日) 00:09:42.96ID:hoACBN+G
sortの話どうなったんだよ?自称神様
2019/08/25(日) 00:40:36.59ID:2WZBdFxH
>>355
自分が笑われる目的で?
なんとも自虐的な奴だなw
2019/08/25(日) 02:30:04.13ID:RhAWwavs
再掲してやろうw

> From: [36] デフォルトの名無しさん <sage>
> Date: 2019/08/11(日) 16:10:55.15 ID:++HFlOfG
>
> 現実世界では私は神なのだ

さっさとsortコマンドの話に答えろよw
2019/08/25(日) 03:09:53.26ID:ssItiA2j
しつこい
2019/08/25(日) 03:49:52.04ID:hoACBN+G
>>361
答えたで? >>173にコード書いてあるやろ?
2019/08/25(日) 04:39:23.92ID:edoCEBS2
神というだけあってシェルスクリプトに詳しいよな
2019/08/25(日) 04:45:30.28ID:ve1RKgr6
>>361
だっさw
2019/08/25(日) 05:11:51.88ID:X8LrMnru
>>361
なんで、>>75のレスって書かないの?
そしてほんとうの意味を書かないの?

>>75
それはその数個上のレスを見ればわかるよ。

「現実世界では俺は優れたプログラマ」(といわれても証拠ないしなーw)
とか言ってるやつがいたから、そいつに対するレス。
2019/08/25(日) 09:58:11.98ID:ve1RKgr6
粘着うぜーな
どーでもいいわ
2019/08/25(日) 11:32:58.43ID:coCCl2cg
簡単なシェルスクリプトならコピペせず書けるようになったけど他にも言語覚えた方がいいのかしら
sedにgrepにawkならかなり世話になってるけどpythonやrubyとは無縁なんだわ
シェルはbashに篭ってても困らんしな
2019/08/25(日) 12:52:50.34ID:RhAWwavs
粘着っていうか自業自得では。自称神さまw
2019/08/25(日) 13:36:51.55ID:1wFl7XLL
いいからシェルスクリプトの話をしてくださいよ
じゃまですよ
2019/08/25(日) 13:49:29.02ID:a7DQLwJd
お前がしてもええんやで
2019/08/25(日) 14:04:56.36ID:ve1RKgr6
俺が自称神さまかよw
2019/08/25(日) 14:11:34.62ID:ve1RKgr6
>>368
他になに書ける?
2019/08/25(日) 15:01:36.04ID:1wFl7XLL
仕事で使ったことがある言語縛りで言えば、
Ruby、JavaScript、Java、C、C++、Python、C#、Perl、PHP、VB6
これぐらいかなぁ?
2019/08/25(日) 17:42:40.59ID:7+B4jEzI
聞いてない
2019/08/25(日) 17:51:41.37ID:ssItiA2j
あー当人じゃねーのか
2019/08/25(日) 20:05:36.28ID:lm+LknRP
>>368
perl5は相性が良い ワンライナーで簡潔だし
sed awk より強い正規表現が使える
2019/08/25(日) 20:06:08.69ID:coCCl2cg
>>373
授業でVB、html、C、java、javascriptを齧っただけですハイ
表計算の方がまだガッツリ書けるわ
2019/08/26(月) 02:33:05.90ID:zrSc8z1e
sedは使うが、awkまでは使いこなせない。
代わりにperlのワンライナーで賄っちゃう。
2019/08/26(月) 04:00:11.44ID:9u1tekMW
PerlはWebサーバーも作れるスクリプト言語だからな。
2019/08/26(月) 04:09:12.67ID:NWn2YSWg
やっぱりシェルスクリプトの利点は
Linux/Unix系ならどんな環境でも最初から入ってるという点と
普段プロンプトから入力しているものと同じコマンドで動くという点だと思う
そのメリットが、メリットにならないような場面では他の言語がいい
2019/08/26(月) 04:32:57.21ID:Y1KwJO8H
やたら短く書けるのも良い点だと思う
2019/08/26(月) 08:29:42.50ID:9u1tekMW
短かく書けるプログラミング言語なんて
ジョークではなく実用的なのでさえごまんとあるんだから
あんまりシェルスクリプトの特筆すべき魅力とは言えんだろう
2019/08/26(月) 09:14:52.23ID:CMmg/EPX
Brainfuck「ふん」
2019/08/26(月) 09:19:30.79ID:CMmg/EPX
>>378
「何をやりたいのか」の方が重要だな
それによって言語が決まる
386デフォルトの名無しさん
垢版 |
2019/08/26(月) 10:12:59.25ID:easMKtRj
ソルバー系はやっていた方がいいと思う。
387デフォルトの名無しさん
垢版 |
2019/08/26(月) 11:41:59.66ID:2xzzFsoU
ソルバー系って?Prologとかのことですか?
2019/08/26(月) 12:36:08.60ID:NWn2YSWg
今日のお昼はザルソルバー
2019/08/26(月) 15:31:55.55ID:7r1lWQhX
これは座布団没収
390デフォルトの名無しさん
垢版 |
2019/08/26(月) 16:47:04.44ID:4xLfK+jj
審議中(AA略)
2019/08/26(月) 19:43:05.91ID:lDnuBORI
perlは便利っていうが専ら正規表現専用機になってる
ほぼsedとして使えるんでつい
2019/08/26(月) 22:19:06.53ID:bOZvrPaH
perlで使える正規表現文字クラスは、
POSIXの正規表現文字クラスより簡単に書けるから、
sedより楽といえば楽だよね。
2019/08/26(月) 22:35:23.01ID:pJei9Vjv
GNU sed だとコンパイルオプションを追加すれば PCRE が
使える(-R オプション)らしいな
2019/08/27(火) 09:47:28.46ID:jAZb3mMb
perlの存在を知る前から\dや\wは使ってたからこれが使えねぇって言われた時は焦ったわ
正規表現入門では当然のようにperl版を使うけど正規表現の種類までは解説しないからな
基本だの拡張だの方言があるって知ったのはvimやgrepで悩んだ時だし
2019/08/27(火) 12:20:19.16ID:WoMQ7lMm
sed は n で次の行に簡単に飛ばせるのが使いやすかった
もっとも多くの行送りは読みにくいので過信できないが
2019/08/27(火) 18:42:49.47ID:AbLHt6c7
perlでは[\s\S]でほぼ同じことができるけどね
2019/08/28(水) 05:11:25.57ID:mFl1zXF1
C言語とシェルスクリプトの対比・協調について
「シェルスクリプトは文字列処理がある程度得意で
キャラクタによるユーザーインターフェースを作るのに向いている。
一方C言語は↑このような操作は不得手であるが
素早い数値計算やシステムAPI呼出しは向いている。
だからインターフェースはシェルスクリプトで書いて
シェルスクリプトで適切に処理した引数(例えばヌル文字を削除したり数値だけにしたり)
をC言語をコンパイルしたプログラムに渡すようにすれば
「早くて堅牢、かつ使いやすい」システムができる」

こういうのってどの程度正しい?
2019/08/28(水) 05:39:32.47ID:K2P0GJ1V
言語なんて色々有るし、C言語と対比しないほうがいいのでは?
2019/08/28(水) 07:27:17.72ID:Z/4RZqPN
>>397
どこから突っ込んでいいか分からないくらいピンぼけな文章
2019/08/28(水) 07:38:14.25ID:JyOge16s
20年前からタイムスリップしてきたんだ。許してくれ
2019/08/28(水) 08:10:37.66ID:j4+M+GB0
>>397
ちんぼ
402デフォルトの名無しさん
垢版 |
2019/08/28(水) 10:41:08.33ID:gV1iThk/
昭和何年からタイムスリップしてきたのか?
2019/08/28(水) 11:20:21.46ID:ddpchJVU
可読性が高く、CUI が作りやすい言語は、Ruby。
テキスト処理・コマンド作り・1-liner も得意

ただし、Rubyは遅いから、
ベクトル演算などを速く処理したいなら、C言語で作った、NArray ライブラリを呼び出す

その速さは、数値計算専門言語のOctave にも匹敵する!
2019/08/28(水) 11:31:26.07ID:Dqewl7QB
スクリプトの中で起動速度が一番速いのがシェルスクリプト。次がPerl。
その次はPythonとPHPが同着ぐらい。
Rubyはひときわ遅くて、シェルスクリプトの50倍。Python、PHPの3倍遅い
2019/08/28(水) 11:52:55.32ID:Z/4RZqPN
TwitterはRuby on Railsで書かれていたがScalaで書き直した
それは大量のトラフィックを捌き切れなくなったからだ
パフォーマンスの問題を解決しない限りは
死んだと言われても仕方がないな
2019/08/28(水) 12:15:10.11ID:wbjCXnts
railsってどんぐらいの規模ならいけるの
2019/08/28(水) 14:38:52.61ID:odAj9D7Z
もう10年以上前だけど、Twitterの開発者が何かのインタビューでScala移行した理由としてRubyは自前で型チェックを大量に記述しないといけないから、JavaやScalaみたいに型を指定するほうがいいって気づいたみたいなこと言ってた
海外のプログラミングサイトみたいなやつで、当時少し話題になったけど、探せばまだ見つかるかも
2019/08/28(水) 17:24:45.64ID:ZwB1MHJ/
すごいわかる
動的型付け言語使ってユニットテストで型チェック書くのギャグかよってぐらい馬鹿げてる
2019/08/28(水) 20:00:01.16ID:Z/4RZqPN
静的型付け言語の時代になったな
Scala,Rust,Swift,TypeScript...
パフォーマンスチューニングに労力使いたくないよな
2019/08/28(水) 23:53:16.25ID:7Kt8r9pr
ちょっとperlを覚える気になったけどなんで書きやすいやすくて読みにくいのか分かったわ
記号で変数の使い分ける時点でダメだった
正規表現さえ出来ればいいんだけどPerl6の展望ってどうなんですかね
411デフォルトの名無しさん
垢版 |
2019/08/28(水) 23:54:49.23ID:ddpchJVU
Rails 6 では、DHH のいるBasecamp 社から、GitHub へ移籍した、Eileen Uchitelle が、
複数データベース接続(read replica)と、ブラウザによるE2E の並列テストを実装した

最近のRailsは、大規模用

Basecamp, GitHub, Shopify 社などが中心。
日本では、Cookpad, マネーフォワード、Ruby開発とか

初めてのJavaScript 第3版 ――ES2015以降の最新ウェブ開発、オライリー、2017

この本は、10年以上やってないと、難しすぎて読めない。
だから、サーバー側をNode.js に変えることは難しい

同様に、Go も難しいから、現時点では、Ruby になる!
2019/08/29(木) 00:22:15.02ID:VY7wxkJm
シェルスクリプトと同じぐらいの速度とブログで読んで
perl6の処理系が高速化するまでは導入延期予定
速度さえなんとかなれば併用するつもり 新型の正規表現クール
---
perl5 の正規表現は
(?{perl-code})
(??{perl-code})
などがあるから使えると便利
2019/08/29(木) 00:40:07.63ID:mztHiQ0L
まあ考え方次第なんだけどね
$や@を使うことでスカラー変数と配列変数と連想配列変数を厳密に区別できて、違う型の変数に代入できなくするっていう
Perl6は更に進んで、静的な型指定をできるようにしようって、2000年代前半の時点で今のPHPとかJSがやろうとして方向に進んでたんだけど
2019/08/29(木) 01:56:31.92ID:mPTYynKQ
Perl 6の正規表現について - Qiita
https://qiita.com/sinya8282/items/361f13409a0ca9e3e66c
俺の知ってる正規表現と違う
2019/08/29(木) 09:08:01.33ID:VG5IecJ5
童貞「俺の知ってる性器表現と違う」
2019/08/29(木) 20:01:19.83ID:jZJUsq6Z
定期的にruby布教しては信者を得られず帰っていく
逆効果だと思うんだけどなw
2019/08/29(木) 20:57:49.50ID:VG5IecJ5
>>416
末期の日本軍みたいよな。
日本生まれのRubyがその生みの親と同じ末路を辿るとはあまりに悲しい皮肉よ
2019/08/30(金) 00:19:45.85ID:LpXSw35l
日本軍は現場を知らない奴が出世して参謀とかになってるからおかしいことになった
自分は死ぬ気が無いのに他人に市ねと命令するクズ

rubyの人は現場で手を動かしてる分、かなりマシ
2019/08/30(金) 02:13:05.42ID:/ghu33Nb
その肝心要の現場でRubyが動いてないって話をしてんだよなぁ…
2019/08/30(金) 02:39:34.78ID:1KmU2S17
ム版でここまでヘイトを集められるのはある意味ユニークスキル
2019/08/30(金) 05:01:24.34ID:+D5+4uT9
貴様ら!大日本帝国陸海軍を愚弄するか!
Ruby如きの比喩に使うな馬鹿者が!
2019/08/30(金) 05:19:46.60ID:Nlc2IKSs
ここ以外にプログラミングについて活発に議論してるとこってある?
QiitaとかTwitterみたいなとこじゃなくて匿名でかしこまってないのがええ
2019/08/30(金) 06:18:12.78ID:LpXSw35l
>>421
今の日本では馬鹿の象徴だよ?帝国陸海軍
2019/08/30(金) 07:57:05.44ID:yjTPnYwz
つーかなんで日本軍が出てくるのか意味不明
2019/08/30(金) 08:10:38.43ID:jhLEZvWx
大失敗の象徴としてだろけど、Rubyと絡めるのは意味不明
なんであれどういうものであれ批判するヤツ、アンチはことさら大げさに言うのが定番のだろう
2019/08/30(金) 08:49:34.60ID:1L0XShC3
やれやれ、じゃあまた俺がシェルスクリプトのお題でも出してやろうかね?
2019/08/30(金) 08:53:17.88ID:1L0XShC3
じゃあいつもとは趣向を変える

Bourne ShellとPOSIXシェルの違いを教えて下さい。
2019/08/30(金) 08:53:40.01ID:1L0XShC3
じゃあいつもとは趣向を変えて
と書こうとしたw
2019/08/30(金) 09:03:36.53ID:jhLEZvWx
いつもの承認欲求だけだろ
2019/08/30(金) 09:07:30.27ID:yjTPnYwz
>>422
知恵袋いけ
2019/08/30(金) 09:30:45.39ID:1L0XShC3
Bourne ShellとPOSIXシェルの違い、教えてくださらぬか?
2019/08/30(金) 10:04:47.60ID:BnHn7wdj
日英両対応のクリップボードへのコピーとペーストの部分どうしてる?
cygwin Linux mac などを
uname | grep "CYGWIN" > /dev/null && do-something
のようなかんじの分岐を copy_to_clipboard paste_from_clipboard で考えている
そして コピーのときに
cygwin だと > /dev/clipboard
linux や mac だと別の何かになる

本当は perlモジュールの Clipboard が OS の差異を吸収してくれる予定だったが
日本語だけはうまく処理してくれないから半分車輪の最発明ののようなことになった
2019/08/30(金) 10:50:41.75ID:1L0XShC3
そんなことやろうと思ったこともないんだが、
どうやってSSH越しにクリップボードに入れられるんだ?
それシェルの機能なのか?端末の機能では?
2019/08/30(金) 10:57:15.04ID:BnHn7wdj
SSH 超しじゃなく、ポータブルなコードが欲しかった
環境によってクリップボードのアクセス違うから
Xxx | copy_to_clipboad
paste_from_clipboard | Yyy
のように書けたら楽じゃないか?
2019/08/30(金) 11:18:44.20ID:yjTPnYwz
macはpbpaste/pbcopy
linuxはxselかxclip
2019/08/30(金) 11:28:41.14ID:BnHn7wdj
thanks
2019/08/30(金) 11:34:05.64ID:1L0XShC3
コピペしたいとか思わないからなぁ。
コピーはともかくペーストしたいわけでバイナリのペーストもなくはないけど
通常は出力したテキストのペーストでしょ?
ファイルに書き出せばいいじゃんって思っちゃう。
まあ別にコピペを否定したいわけじゃなくて、やろうと思わないなって話。
2019/08/30(金) 18:38:47.93ID:CkOCkFW4
Cygwinならclip.exeを呼び出せばいいんじゃない
2019/08/30(金) 19:33:44.50ID:yjTPnYwz
>>438
clip.exeはペーストできない
cygwinは/dev/clipboard
2019/08/31(土) 00:01:36.74ID:nixiltP4
getclipboard使えば
2019/08/31(土) 02:48:40.05ID:0iGUnrw4
クリップボードみたいなGUIに強く依存した(例えば画像や装飾のある文章を切り貼りできる)機能は
なかなかOS間・ベンダー間で協調したり標準化したりするのが難しそう。
素人考えだが。
2019/08/31(土) 03:00:42.96ID:4qIvp+ND
httpみたいにMIMEを流用すればいいんじゃないの?
扱えないタイプはぺっすればいいんだし
2019/08/31(土) 08:47:44.75ID:0iGUnrw4
ではその旨を各社にお伝えください。
2019/08/31(土) 08:49:53.41ID:0iGUnrw4
一個人がアレコレ妄想するぶんには訳ないけど、各々のベンダーが顧客の体験を変えることなく(つまりインターフェース面での過去互換性を最小限にして)
「ぼくのかんがえたさいきょう」のクリップボード仕様を採用してくれるとは到底思えんがね。
2019/08/31(土) 13:00:30.93ID:LtUqD47M
クリップボードってそのままのデータをやり取りするIPCだろ
2019/08/31(土) 13:02:39.70ID:MkewyPY7
それはパイプ。クリップボードはクリップボード
2019/08/31(土) 13:08:50.01ID:LtUqD47M
クリップボードは共有メモリだろパイプじゃない
2019/08/31(土) 13:13:42.31ID:MkewyPY7
IPCというならだよ。プロセス間通信という感じではない、言うような共有メモリだな
どのプロセスが書いたのか知らん知ってるフォーマットのデータを読むだけだし
2019/08/31(土) 13:18:28.51ID:LtUqD47M
IPCは共有メモリ、セマフォ、パイプなどのプロセス間通信の総称なんだが
2019/08/31(土) 13:22:09.06ID:MkewyPY7
共有メモリは広義にはIPCに含まれるだろうが、通信ではないし、クリップボードはプロセス間通信ではないな
共有メモリを使ったプロセス間通信はあるだろうけど、クリップボードがプロセス間通信かと言えば違うだろう。パイプはもろにプロセス間通信という

クリップボードってそのままのデータをやり取りする共有メモリだろ
でまさしくだし、それでいいんじゃね
2019/08/31(土) 13:26:20.90ID:LtUqD47M
共有メモリは広義にも狭義にもプロセス間通信なんだが
プロセス間でデータをやり取りするための機構だ
2019/08/31(土) 13:36:21.83ID:MkewyPY7
プロセス間でデータのやりとりさえできれば、通信するプロセス間の関係性即時性一時性なんて全く関係ないのもプロセス間通信と思えるならそうだろな
そもそもプロセス間通信をするために用意したのが共有メモリだと思うよ。共有メモリを使うから=プロセス間通信ではないだろうとは俺は思うけど。ファイルシステムもIPCになる感じになるな、そのままのデータをやり取りするなら
2019/08/31(土) 13:39:19.82ID:iNpyZmkw
つーかどれとどれのプロセスの通信なんだよw
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況