【POSIX】UNIXプログラミング【BSD】 [転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
前スレで質問して、「UNIXでもネットトレーディングはできる」と
回答をもらった者です。そこで早速ネット証券の口座を作り、
ゆうちょ銀行100株を買ってみました。
で、買った株券はどこから出てくるのでしょうか?
念のため、CD-ROMドライブを開けてみましたが、
株券は入っていませんでした。
やはりUNIXはネットトレーディングに対応していないのでしょうか? ネットでチケット買って、「どこから出てくるの?」ってマジで聞いてきた奴いたし多少はね? IPOに外れたんだろ。当たった人はちゃんと株券出てきたよ 黒い画面は一般人からしたら
魔術師のマント
たった一つの間違った言葉で
全部壊してしまうようで
恐くてで震える
replは全てソクラテスの子孫だ
私は哲学者ではない
忍耐に耐えれず心が壊れる 金は資源を割り当てるシステムとして正当化されるなら
君が金持ちに値する人間に似ている鏡の国の怪物になりたければ
計算至言か節約できないアルゴリズムになって正当化されるべきだ プログラマはポエマーをバカにする
君の人生は
大局的にはポエむでしか正当化できないのに 空気は生存にとって不可欠だが、
大量にあるために限界費用はゼロになる。
これが幸せの定義である。
幸せとは生存に不可欠な空気のようなもののことだ。 あなたが空気のようであればあなたは幸せである
あなたは窒息するまでそれに本能的に気付かない
理性的にはわかっている
恋人に裏切られたらわかる気持ちのようなものだ
人を恨んではいけないがあなたは人を必ず恨む >>56
でもあいつら文法と入門書しかしらないじゃん POSIXという「名前」はリチャード・ストールマンがIEEEに提案したものである
当てにはならんがw 誰でも簡単にパソコン1台で稼げる方法など
参考までに、
⇒ 『宮本のゴウリエセレレ』 というブログで見ることができるらしいです。
グーグル検索⇒『宮本のゴウリエセレレ』
DAKMZBIRMH POSIXのコマンドラインユーティリティにfort77加えられていることに気がついた。
今更かよ!? FORTRAN 77 って行番号の桁がある規格外に古びた言語でしょ
なんでそんなのを2018年にもなって実装してんの fort77コマンドってはるか昔から存在するわけで、新たに実装って話じゃなく、現状を追認して規格化しただけよ。
今さら感は確かにある。 FORTRANなんて捨てろとも思うがどうしても標準化するならfort90実装の方が
良かったなぁ……なぜ今になってfort77実装なのか……。
やっぱUnix畑の連中の脳味噌は理解しがたいわ
ていうかWikipedia見たらfort90ってANSI標準に取り込まれてたんだな。
なら一層POSIXもfort90を採用してくれりゃいいのに。 ちゃんと規格確認したら、fort77は1995年頃の Issue 4 の時点で既に規格に入ってたって書いてあるやんけ。
>>62にまんまと騙された。
おまけに将来規格から削除するかもねとまで書いてあるぞ。 > Issue 7
> SD5-XCU-ERN-97 is applied, updating the SYNOPSIS.
> POSIX.1-2008, Technical Corrigendum 2, XCU/TC2-2008/0102 [546] and XCU/TC2-2008/0103 [546] are applied.
-- fort77 / The Open Group
とあるけど? >>68
それ、内容が更新されたって記載であって、
「fort77加えられている」っていう記載じゃないじゃん。
「fort77加えられ」たって記載は、その上にある
First released in Issue 4.
の方。
でもって、Issue 4 Version 2のリリースは、1990年代半ば。 Fortranとは全く関係ないんですけど、foldコマンドについて質問です。
foldコマンドって所謂マルチバイト対応はしないのでしょうか。
(少なくとも) UTF-8で記述された日本語を含む平文をfoldに通すと
文字の途中のバイト列で切断され、結果的に改行近くの文字が破壊されてしまいました。
素人の発想ですが、バイト列が固定されるUTF-32に対し4の倍数バイト目で切断したならば
文字情報の破損を防げると思ったのですが、これもまた上手く生きませんでした。 >>70
実装依存なのでOSとそのバージョンを明らかにしないと誰も答えられない。 >>67
>>62の「今更かよ!? 」は>>62自身が「気がついた。」ことに対してじゃないのw >>72
そんならOK
だとすると>>68は別人ってことかな。 >>71
すいません。
$ fold --version
fold (GNU coreutils) 8.26
$ uname --operating-system
GNU/Linux
よろしくお願いします。 >>75
わざわざ確認していただいてすいません。
ありがとうございます。
>>76
FreeBSDってGitHubにリポジトリ持ってるんですね。まずそれにビックリしました。
foldはシェルスクリプトでどうにかします。
C言語はともかく移植してリポジトリに登録して……っていう作業はキツいっす 必要は勿論ないけど、よそのソースいじるんだったらバージョン管理するのはもはやデフォでしょ。
自分だってやると思う。
さすがにリポジトリまるまるコピーするとデカイので、こういう場合はRCSを使うかもしれないがw gitなんだからcloneしてそのままいじればいいんだろう?
登録ってなんぞ? FreeBSDのgitリポジトリをcloneすると3GB越えになるから、
たかだか1ファイル6KBのためにそれだけcloneするのは
オッサン的には心が痛む。
FreeBSDの場合、マスターは subversion だから、そっちを
checkout するだけなら 1GBくらいで済むけど、それだと
コミットして自分の変更内容を管理できないし。
で、必要なところだけを部分的に自分専用のリポジトリに
突っ込むのなら、登録って話になると思う。 めんどくさいって言ってる人間がそんなことするのか?
あり得ない妄想膨らませてどうすんの。 まあリポジトリ登録なんてどんなバージョン管理ツール使っても一瞬だから、そこが心理的障壁になる感覚はよく分からんな。 単純に低能なだけだろVCSも碌に扱えないような人間が
ソフトウェア開発に咬むとか笑止 なんでそこまで辛辣になれるのかよく分からん。
日頃よほど辛い目にあってるとかかな。 辛辣っていうかあたりまえでは……
ちょっと口調は荒いけど,OSSに参加するならそれくらい勉強しようよとも思う
ってのが正直なところ 自分の必要に応じて手元でソース改変するか自力で書くかって話
(しかも結局自力で書くことにしたって話)を
「OSSに参加する」って表現する感覚は俺には分からないな。
前者を「OSSを利用する」って表現するなら分かるが。
何をそんなに怒ってるのかまったく分からん。
正義感とかじゃないよな。
自分の思う通りに人が動かないと満足できないってこと? ストールマンもリーナスもキチガイだし多少はね?
まあ86が彼等に匹敵する技量の持ち主だとは到底思えないんだけども(失笑) いやいや、一番過激と目されるストールマンだって、ソースの公開範囲は、そのソフトウェアの利用者だけで良いとしているぞ。
GPLにもそう書いてある。
(ただし、ソースを配布された利用者が、さらにそのソースを再配布することを制限してはいけないので注意)
自分が使うために改変したソースにまで公開義務があるなんて考えてる人って、OSS原理主義者と目されている人にもいない筈。
そんなこと考えるのは、むしろ OSS ライセンスに疎い人なんじゃないか? foldのマルチバイト対応云々言い出した人どうなったんだろ
喧騒に巻き込まれたくないから書き込んでないだけならいいんだけど POSIX的に「絶対に存在する」「中身のある」ファイルってなんだろう。
何かの処理を解説する上でそのファイルを使いたい。
ttps://www.ibm.com/developerworks/jp/linux/library/l-awk1/index.html
例えばawkを紹介するこの記事ではawkで処理するファイルに/etc/passwdを選んでるけど、
ttp://pubs.opengroup.org/onlinepubs/009695399/functions/link.html
ここを見る限り/etc/passwdは任意のようだし…
/dev/nullとかはPOSIXで決ってるけど、テキストファイルじゃないから、自分の用途には合わない。 UnixつーかPOSIXで,
「行の先頭に (同じ) 文字列を加える」ことに特化したコマンドない?
sed でもいいんだけど,Unix哲学に基きたい。
```
foo
bar
buzz
```
っていうのに対して,
```
aaafoo
aaabar
aaabuz
```
っていうのを付け加える。
aaaっていう文字列が書かれたファイルはなくて,できれば引数として渡したい。 そういう各行の編集をするためにこそsedがあるんじゃん pasteでいけると思ったが
> aaaっていう文字列が書かれたファイルはなく
で無理ぽ
for l in $(cat ./file.txt | wc -l); do printf 'aaa\n' >> gen.txt; done
として
paste -d '' gen.txt file.txt
とか。 >>94
pasteとyesを組み合わせた全く新しい格闘技 yes って「あるファイルの終端まで」みたいな判定効いたっけ?無理じゃね? $ cat ./file.txt
foo
bar
buzz
$ yes aaa | head -n $(cat file.txt | wc -l) | paste -d '' - ./file.txt
aaafoo
aaabar
aaabuzz
かwww意味不明だなw
しかも file が標準出力の場合やりようがないという……
paste って同時に複数の標準出力無理だよな POSIX原理主義って保守?
Unix哲学という考え方は新しい部類に入るからリベラル? findコマンドってオプション各々の優先順序を丸括弧で指定できるじゃん。
その時にシェルにサブシェルだと解釈されないようにエスケープ記号で無効化する必要があるけれども,
一々エスケープ記号を付けるのが面倒なので,どうにかして一気に無効化したい。
そこで
$ find ~ "( -type f -type l ) -print"
とかやってみたが,当然引用符全体が一つのオプションとしてfindに渡されてエラー。
なにか案ありますかね。
やはり一々エスケープして,
$ find ~ \( -type f -type l \) -print
とかやらないといけないんですかね……。 あ,エスケープ記号じゃなくてエスケープ文字かも。
そこらへんの用語曖昧なので適宜無視して下さい。 >>106
サブシェルをサポートしていないシェルを使う。
なければ作る。それこそプログラマ。 yesってheadで切り出せるのか……今更知ったわw
^Cで止めないといけないのにどうしてheadで中断できるんだろうと思ったが、headがSIGINTを送ってるのかな? POSIXってCLIのUI/UXについては規定してないのかな?
例えば
Install? [Y/n]
っていうプロンプトをよくみかけるけど、
あれ大文字小文字の区別とか入力後にエンター押すか押さないかとか既定値はあるのかないのかとかが曖昧で嫌でさ。
どっかの団体が規格作ってくれてないかなぁ >>113
既定は一切ないよね
紳士協定すらもない
一旦過去をリセットすることをせず、かといって後方互換もない
混沌こそ*nixの理想 >>113
既定を右にするか左にするかだけでも話がまとまらないと思うので、誰も手をつけないと思う MakefileをPOSIX互換にしたいと思っているのですが、
installコマンドのよい代替コマンドはありますか?
というかかなり多くのMakefileがinstallコマンドを使っていて、
そうでないものはなにか特殊な (例えばGo関連ならgo installみたいな) コマンドになっていて
良い例が見付かりませんでした… >>116
autotoolsにinstall-shというシェルスクリプトがついてくるので、それを使えばいい。 帰結が、超有利なのは、皆さんご存知でしょうが
だからといって
過程の者を、あざ笑うなどという
愚
は、もういらないのです そして、それを考慮に入れた上での
共産に関しては、拒否
の選択を取ろうと思います
今はね 例えば我が
真理に向かう魂だとしても、
それを、世に公開せぬほうが
結果として、我自身が、得してしまう
それが、我に、かけられた、呪いでありましょう。 我が子を食らうサトゥルヌス
様に
我が展望を語るなどの
愚
は、もう、やめようと思います unix + Cの経験のために
大規模な回線キャリアの、サービスの追加を行い
実際には、店舗スタッフなどに、新規オプションに対する認知努力などの複雑さを与え
消費者に対して、押し付けさせる
社会悪を実装してしまっていた
などという
愚を
二度と行いません システムの意味が、社会の複雑性の縮減に向かうものなのか
十分に、考慮すべきであった MakefileってPOSIXの範囲内だと函数が一切合切使えないんだな
shell函数も使えないとなると厳しいなぁ https://www.cs.cmu.edu/~mihaib/kernighan-interview/
カーニハン(C言語の開発者、Unixの開発者)のインタビュー grepの-A/Bオプションの再現ってPOSIXの範囲内だとやっぱりsed使わないと厳しいのかな。 sedコマンドでファイルの先頭に行追加(ヘッダを追加)したいんですが
ググったら出てくるようなとこに書かれてる方法がAIXじゃ使えません
AIXでのやり方を教えてください AIXしらんけど
sed '1i\
foo
' hogefile
でだめなん? >>126
awkなら簡単だと思うけど、sedでできる自信がない。 >>128
ありがとうございます
リアル改行を挟むという発想が無かったです nprocコマンドってPOSIXの範囲で代替できないかね。
そもそも/proc以下がFHSでしか定義されてないから土台無理な話なのかなぁ……。 >>131
POSIXだと無理じゃないかなあ。
POSIXにこだわらなければ、
getconf _NPROCESSORS_ONLN
か、あるいは
getconf NPROCESSORS_ONLN
でとれるOSがわりと多いけど、とれないOSもあるしなあ。 愚痴というかいちゃもんに近いけど,POSIXユーティリティの殆どが「その機能を表わした名前」であるのに対して
awkという名前に違和感を覚える。
sed→Stream EDitor, cal→CALendar とか分かりやすいのにawkだけ「開発者の頭文字」という非合理的な命名をされたせいで
何の目的に使うのかよくわからない。
awkじゃなくて例えばexsed(EXtended SED)とか。 sedは普通のツールの範疇に入るけど(とはいえチューリング完全ではある)、
awk は完全にプログラミング言語だからな。
プログラミング言語の名前なんてそんなもんよ。 Linux と Mac のどちらでも動かしたいとか Macてbsdだっけ? あれはちゃんとしているの? MacってUNIX(TM)ではあるけど(ちゃんと許可も貰ってる)、別にPOSIX互換じゃないんじゃない?
bcとかはデフォで入ってなさそう。 POSIX互換、昔はシェルもtcshだったが10.3からbashになってる
POSIX互換だけど、Linux(GNU)ではないのでコマンドのオプションが違ってる
BSD系のコマンドはGNUにくらべて基本的に機能が少ない
homebrewなどのサードパーティ製のパッケージ管理ツールを使うと
GNU系のコマンドを追加導入することができる
POSIXであってLinuxではないので当然だけど
Linuxカーネルを必要とするDockerは仮想マシンを使って動かすしかない POSIXにはcsh関係ないし、DockerもLinuxカーネル前提じゃないだろ今は MacOSもWindowsもLinux仮想マシンを使うんだけど、
いつDockerがLinuxカーネル前提じゃなくなったの? ■ このスレッドは過去ログ倉庫に格納されています