- 1 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/05/03(木) 17:54:23.25 .net]
- シェルスクリプトの総合スレです。
□お約束 ・特記なき場合はBourne Shell(/bin/sh)もしくはPOSIX準拠の互換シェルがデフォルトです。 bash/zsh/ksh/ash/dash/yash/poshなどの専用機能に依存する場合は明示しましょう。 Linuxユーザは/bin/shの正体がbashまたはdashなので特に注意。 FreeBSDユーザは/bin/shの正体がashなので注意。 ・POSIXについてのリンクは https://en.wikipedia.org/wiki/POSIX にまとめられています 最新の仕様はこちらへ pubs.opengroup.org/onlinepubs/9699919799/ (左上の「Shell & Utilities」 から参照することができます。) ・v7 shに一番近くて、現役(?)のshは、OpenSolaris由来のheirloom sh。 src.illumos.org/source/xref/illumos-gate/usr/src/cmd/sh/ heirloom.sourceforge.net/sh.html ・csh/tcshのシェルスクリプトは推奨されません。 (理由は「csh-whynot」でググれ) ・UNIXにはシェルスクリプトに便利な小さなコマンドがいろいろあります。 manや参考リンクを見ましょう。 aproposないしはman -kでそれらしい単語による簡単な検索もできます。 ・シェルで使えるワイルドカード等は正規表現ではありません。 正規表現の話題はスレ違い(正規表現スレへ) ・シェルスクリプトのことをシェルってゆうな □初心者へのアドバイス: ・適した道具を判断するのも頭の重要な使い方。シェルスクリプトよりも awkまたはperlの方が適した処理にはそちらを使いましょう。 ・知らないコマンドが出てきたらmanを引きましょう。 ・思い通りに動かないときは、まずは sh -x でトレースしましょう。 □回答者への注意事項: ・シェルスクリプトでの処理方法を質問しているのに、よくわからずに 「そういうのはperl使いましょう」と回答するのはやめましょう。 安易にperlに逃げずにシェルスクリプトで処理するのが頭のいいやり方。 質問に対して問題が間違ってるといちゃもんをつけるのもやめましょう 前スレ シェルスクリプト総合 その26 https://mevius.5ch.net/test/read.cgi/unix/1489979246/
- 433 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/10(日) 22:48:58.34 .net]
- >>417
言い訳はいいから書いてみろよ 前提条件は後出しでどんどん追加していいからw
- 434 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/10(日) 22:49:09.09 .net]
- もうそろそろ、安全な文字に変換するというアプローチ
(例えば>>289のようなもの)が ムダで効率が悪いってことに気づきませんかね? もう一回煽りますね? >>323 正直、そういう解答を出してほしかったね。だせるかなーって思っていたけど シェルスクリプトでそういうデータを扱うなんておかしいとかのたまうばかり \x1c(ファイル分離)、\x1d(グループ分離)、\x1e(レコード分離)、\x1f(ユニット分離)は まさにそういう用途で使うもの。ここの連中の技術力の低下を感じる。
- 435 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/10(日) 22:49:14.03 .net]
- もう一から説明しないと、情報処理の基本すらわかってないようなので
バカバカ
- 436 名前:オすぎだけど、
・改行がデータ中とレコードの終わりを示すのが混在している ・シェルスクリプトは基本、改行は改行でしかなく、データ中なんて知らんただの一行=レコードがブッタ切られる ・データ中の改行を他のナニかに変えれば、シェルスクリプトは一行=1レコードと認識する 前処理:データ中の改行だけをナニかに変える 本処理:改行が終端の一行=1レコードを処理する 後処理:ナニかに変えたのを改行に戻す たった、これだけのことをなぜ理解できないでトンチンカンなことばっかり言うのか。前処理をsedでできるなんて言ったことないぞ(できるかもだが、それはもっと面倒なの俺は考えんw)。後処理はsedでできることは馬鹿でもわかるだろうにぃぃぃ [] - [ここ壊れてます]
- 437 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/10(日) 22:50:39.10 .net]
- >>418
なんでそんなに出せ出せ言うのかww その頭の悪さというか未経験ぶりは、元の質問者か?と疑うぞ
- 438 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/10(日) 22:50:59.99 .net]
- >>420に補足すると、
(POSIXの範囲では)readは必ず改行コードでぶった切られる
- 439 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/10(日) 22:53:10.76 .net]
- >>420
> 前処理:データ中の改行だけをナニかに変える > 本処理:改行が終端の一行=1レコードを処理する > 後処理:ナニかに変えたのを改行に戻す それは理解しているが、 1. 改行を何かに また 何かを改行にするには、どうやるのか? 2. 変える または 戻す 処理は1コマンドで実行できるのか? の答えが、1行ずつfork、execしなきゃならないから データ量に比例して遅くなるって話をしてる
- 440 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/10(日) 22:55:00.78 .net]
- >>423
お前にじゃねえよ。お前は面倒なのでいいよw 遅い遅い言っていれば。1行ずつfork、execしなくてもいい方法もあるのにそこには考えが及ばないだろうし
- 441 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/10(日) 22:55:49.68 .net]
- やたらスレが延びてるけど動くモノが出来上がる気配がない
さっさと手を動かせよ
- 442 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/10(日) 22:56:51.41 .net]
- >>419
「効率悪い」のに「そういう解答を出してほし」かったの? ちょっと意図が分かりかねるな
- 443 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/10(日) 22:56:58.92 .net]
- > 1行ずつfork、execしなくてもいい方法もあるのに
それがもっと遅くなる方法だったら笑うがねw
- 444 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/10(日) 22:58:11.88 .net]
- >>426
お前馬鹿だわ U+001EやU+001Fを区切り文字として利用するんだから わざわざ改行コードなどを使われない文字に変換する必要ねーだろw
- 445 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/10(日) 22:58:14.56 .net]
- 最初の質問者じゃなかった、何を目的に延々と絡んでるのか意味不明すぎ
できないできないってばかりで
- 446 名前:426 mailto:sage [2018/06/10(日) 22:59:16.28 .net]
- あ、「安全な文字」っていうのは「通常の用途に使われるけれども日本語圏では滅多に使われない文字」の意味だったのね。
俺の解釈としてはUnicodeに収録されてる四種の区切り文字も「安全な文字」の類に入るからさ。 勘違いしてすまんな
- 447 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/10(日) 22:59:31.44 .net]
- bash拡張は置換命令あるけど、
POSIXシェルの場合、外部コマンドを呼び出す以外に 置換命令はないんだよ。知ってる?
- 448 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/10(日) 23:03:46.06 .net]
- >>430
> 俺の解釈としてはUnicodeに収録されてる四種の区切り文字も「安全な文字」の類に入るからさ。 まさに、ぽか〜んだわw 今度はお前にUTF-8の講釈をしないといかんのか? Unix系で簡単に使えるUnicodeはUTF-8しかないが (その他のエンコードは、文字の中にNULL文字が入るためシェルスクリプトで扱えない) そのUTF-8はASCII互換であるため、U+001EやU+001Fは ASCIIコードの0x1Eと0x1Fと全く同じであるため、 この文脈で、Unicodeかどうかなんて考える必要ないんだよ
- 449 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/10(日) 23:05:23.11 .net]
- >>428
それは元々のデータがそうであるってこと?そんなんだったら別にこのスレで話題にするようなもんじゃないだろう いつからそんなのが前提になってるねんwなんかムチャクチャぶりが...ww
- 450 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/10(日) 23:07:34.36 .net]
- >>430
なんか変に絡まれてるな 全く理解できるから気にすんなw
- 451 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/10(日) 23:13:46.83 .net]
- >>433
> それは元々のデータがそうであるってこと? ちょっと違うな 「元々のデータがそうであってもよい」ってこと 元々のデータ形式について指定はないのだから (処理するには効率の悪い)CSVデータでも
- 452 名前:OKだし、
どんなデータでもよい そのデータ形式も含めて、 どうしたらいいでしょうか?という話だ [] - [ここ壊れてます]
- 453 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/10(日) 23:15:22.00 .net]
- >>435
データの改行とそうじゃない改行をどうすんの?どうやんの?
- 454 名前:435 mailto:sage [2018/06/10(日) 23:16:17.88 .net]
- まあ、そのデータもシェルスクリプトで生成はするんだけどな
シェルスクリプト1 → 何らかのデータ形式 → シェルスクリプト2 「何らかのデータ形式」のデータの中に(データ区切りの改行とは別に) 1データの値として改行等が含まれることがあるのでどうすっかなーって話
- 455 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/10(日) 23:16:40.28 .net]
- >>432
お前は>>323を引用して > そういう解答を出してほしかった と言ってるんだろ? UnicodeはASCIIの範囲ではそれと互換なんだからUnicodeかそうじゃないかなんてどうでもいいだろうが お前が言ってるのは 「フィールド区切りにはカンマやアルメニア文字ではなくそれ専用に用意されている文字種を使いましょうね」 ってことだろ? なんか間違ってる? 「ポカーン」とするのもいいけれど、その前に文章をよく読め。脊髄反射でレスするな。
- 456 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/10(日) 23:17:19.92 .net]
- >>436
> データの改行とそうじゃない改行をどうすんの?どうやんの? そこをどうするのが質問だって〜の > Excelから出力したCSVのように一行(?)の中に改行が含まれた > データを扱うにはどうしたら良いでしょうか? って書いてあるんだろ
- 457 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/10(日) 23:18:11.57 .net]
- >>437
ん?変換するんじゃないの?変換するなら別にコードがどの値とかは関係ないだろうし??ん??
- 458 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/10(日) 23:19:01.94 .net]
- >>438
> ってことだろ? なんか間違ってる? 間違ってるよ。 >>289 の案に対して置換すんなボケっていってる
- 459 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/10(日) 23:19:23.68 .net]
- >>439
初期から出てるだろ
- 460 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/10(日) 23:20:29.10 .net]
- >>440
だから 改行コードとか\を 安全な文字に置換すんなってw
- 461 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/10(日) 23:21:35.91 .net]
- また変換すんな君が出てるし。代替案を何も言わずに遅い遅いだけな。お前が遅々として進まんわっ
- 462 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/10(日) 23:21:59.29 .net]
- >>442
> 初期から出てるだろ 残念 ながら出てない。 \ を安全 な文字に変 換ってことは つまりデータを 変 換すると言ってる わけだが、 データは 変換(置換)するななってのが 俺の煽ってる内容
- 463 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/10(日) 23:22:01.17 .net]
- >>435
CSVのRFCはフィールド・レコード区切りにU+001F/Eを使えなんて一言も言ってねぇぞ つーかそれこそコンマと改行が区切り文字ですよと言ってる。 そういうデータを扱うことを議論してる時に、横から偉そうな態度で 「データ区切り専用の文字があるんだから元のデータにそれを使うべき」 なんて言われてもなぁ……。 あなたは論理的思考に弱いようだからもう一度同じことを違う言い方で繰り返すと、 「前提を無視した発言は控えてください」 分かった?
- 464 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/10(日) 23:22:47.84 .net]
- >>445
お前は何も進まないので、もう以後無視します
- 465 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/10(日) 23:23:45.97 .net]
- >>444
代替案は >>323ででている 俺が煽ってる内容は↓これな。おまいらに>>323のような代替案をだせよって言ってる 326 自分:名無しさん@お腹いっぱい。[sage] 投稿日:2018/06/10(日) 08:14:53.42 >>323 正直、そういう解答を出してほしかったね。だせるかなーって思っていたけど シェルスクリプトでそういうデータを扱うなんておかしいとかのたまうばかり \x1c(ファイル分離)、\x1d(グループ分離)、\x1e(レコード分離)、\x1f(ユニット分離)は まさにそういう用途で使うもの。ここの連中の技術力の低下を感じる。
- 466 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/10(日) 23:24:21.02 .net]
- >>446
> CSVのRFCはフィールド・レコード区切りにU+001F/Eを使えなんて一言も言ってねぇぞ この期に及んでなんでまだCSVの話してんの? CSVじゃないですって何度も言ってるよね?
- 467 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/10(日) 23:24:54.06 .net]
- >>448
いやいやいやいやwwダメだこりゃ なんら代替案にもなってないのだけど。なんかやけに繰り返すなwやっぱり遅々として進まんな。じゃ、お元気で
- 468 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/10(日) 23:26:44.47 .net]
- >>449
お前さ&も一人さ、わざとめちゃくちゃなレスをして楽しんでるだけだろ? もうそうとしか思えない
- 469 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/10(日) 23:28:24.22 .net]
- >>450
お前本当に馬鹿だなw 1データの中に改行コードが含まれてるなら、 (データの中に含まれる改行コードではなく) データの区切りの方を改行コードではなく、 そのために作られた制御文字を使うって話で 代替案になってるだろ 頭硬すぎw なんで1データを必ず改行コード区切りにしないといけないのか シェルスクリプトは1行ずつ読み
- 470 名前:謔驕iのが得意)ってだけで
データの区切りまで改行コード区切りにする必要はない つーかこの制御文字がなぜ用意されているかに気づかんの? いやはや、ここまで言わんと理解できないのか [] - [ここ壊れてます]
- 471 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/10(日) 23:28:31.79 .net]
- >>424
だからやり方書いてみろよ。 出来もしないくせに煽るからバカだと言われてることに気づけよいい加減w
- 472 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/10(日) 23:31:18.96 .net]
- なんでこんなに荒れてんのよ
- 473 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/10(日) 23:31:40.43 .net]
- >>452
>>422 なんですけど?
- 474 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/10(日) 23:33:06.87 .net]
- >>455
>>422を書いたのも俺なんですけど?w readが改行コードでぶった切られるからって、 データ区切りとする必要はありませんよねぇ(にやにや
- 475 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/10(日) 23:33:38.89 .net]
- >>453
なんでそんな高圧な奴に「教えて」あげなきゃならんねんwアホか 下手くそな煽りだな
- 476 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/10(日) 23:35:13.32 .net]
- >>454
> なんでこんなに荒れてんのよ 俺様がたどり着いたゴールにおまいらが どこまでたどり着けるかを試していたらこうなった
- 477 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/10(日) 23:36:47.05 .net]
- >>456
ん?よくわからんな。にやけぶりがw>>422はトラップすぎだなw
- 478 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/10(日) 23:40:01.41 .net]
- >>459
トラップでも何でもないよ。 readの-dでできると言われたとき、 それbash拡張だって指摘するのが面倒だから 先に注意してあげただけ
- 479 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/10(日) 23:43:44.04 .net]
- >>460
あー、そういうことか。いちおう試してみていたんだけどね。できんの? 後処理が必要ないのでそれができるのなら確かにそうだな
- 480 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/10(日) 23:49:44.49 .net]
- >>460,461
& 遅い君 確かにできるね。っかしいなあw これができての、後処理が無駄という話なら全然それに異存はないな。変に絡んでいたらすまんかった
- 481 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/11(月) 00:03:29.86 .net]
- >>461
ん? ようやく理解したのか? 煽りフェーズが終わると途端につまらなくなるなw 普通にできるし、俺はすでに近い形のものを実装している 自分の用途に合わせて最適化してるんで、汎用的にはなってないがな (その後に>>282を質問という形でおまいらに問題を出したのだよ) 最初はデータの方をエスケープしてたんだが目に見えて遅くなってな エスケープの方式をシェルビルトインのprintfでアンエスケープ できるようにもしたが大した効果はなかった。 そこで制御文字を眺めていたら、その用途ピッタリの文字を見つけたのだよ データとしては、0x1F(US: Unit Separator)を各項目の区切り(CSVでいうカンマ相当) 0x1Eを(RS: Record Separator)を名前の通り、データ区切りとして使ってる USの方はIFSを使うことでPOSIX準拠でforなどで処理することができる さらに0x1D(GS: Group Separotor)を使えば階層構造があるデータを取り扱えるだろうし 0x1C(FS: File Separator)を使えば標準入力で複数のファイルを渡すようなこともできるだろう 便利だがそれに気づいたのは>>323が最初。 おまいらは最初、シェルスクリプトで扱うもんじゃないとか言っていた >>323のあともその使い道に気づかないでいた。まだまだだなw
- 482 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/11(月) 00:07:10.97 .net]
- キモ偉そう
- 483 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/11(月) 00:15:39.42 .net]
- おまけで、一つだけ>>431に補足しておいてやろう
(もちろん>>431を書いたのも俺だけどなw) > bash拡張は置換命令あるけど、 > POSIXシェルの場合、外部コマンドを呼び出す以外に > 置換命令はないんだよ。知ってる? 置換命令は無いが、fork相当のことをせずにprintfも使わずに エスケープされた文字をアンエスケープする方法はある 例えばエスケープの方式がよくある\記号を使うやり方だとして、 IFS='\' (エスケープが必要だったかも知れない)でデータをsplitして caseで n
- 484 名前:*) なら改行を表すエスケープ文字と解釈して
一文字目のnを ${STRING#?} で削除しつつ、 改行コードを一文字目に加えるという方法だ これはこれで遅くなるので却下したんだがなw [] - [ここ壊れてます]
- 485 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/11(月) 00:18:20.26 .net]
- 性格が歪んでるな。これ以後の質問者とかどうするとか思わないのだろうな
- 486 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/11(月) 00:19:46.66 .net]
- 相手にするだけ時間の無駄だと思うが…
- 487 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/11(月) 00:20:59.85 .net]
- >>466
もう人は俺がたどり着いた答えとは別の もっといい案が出るのではないかと思って 先入観を与えないために、あえて俺がたどり着いた答えを出さずに 質問の形でかいた。 しかし、俺がたどり着いた答えに辿り着く前に 諦める奴らばかりだった。情けないなw
- 488 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/11(月) 00:21:27.45 .net]
- × もう人は俺がたどり
○ もう一つは俺がたどり
- 489 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/11(月) 00:22:08.47 .net]
- >>467
確かに。性格が歪んでるのを自覚してないようで
- 490 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/11(月) 00:26:05.87 .net]
- >>470
俺tueee系の主人公は、大抵性格が歪んでるものだよw 大好物です(笑)
- 491 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/11(月) 00:27:33.78 .net]
- 某原理主義者のニオイがする
- 492 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/11(月) 00:29:42.66 .net]
- >>472
アレと一緒にするのはマジで止めてくれ 発想が似ていたとしてもセンスがダサすぎる。 ショッカーとかアホかと
- 493 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/11(月) 01:13:05.93 .net]
- たしかにリッチー大佐は酷い人格だけど間違ったことは言ってねえし
しかも有用なツールを作ってから、ああいう毒を吐いてる。 上で喚いてるなんの解決策も出さず人を否定し馬鹿にすることしかできない人間と比較するのは失礼千万
- 494 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/11(月) 01:13:17.92 .net]
- 誰かちょっと流れをまとめてくれ
誰が何を言いたいのかさっぱりわからん
- 495 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/11(月) 01:21:58.95 .net]
- >>475
現実世界で死んだ ↓ 異世界で俺tueeeやってる
- 496 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/11(月) 01:22:56.01 .net]
- >>474
> しかも有用なツールを作って なんかあったっけ? 使ったこと無いな
- 497 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/11(月) 01:42:28.78 .net]
- 見た目でわかる文字列への置き換え派ですが、いにしえのエスケープコードの流用はいいアイデアだと思いました。
- 498 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/11(月) 01:43:29.77 .net]
- >>463
後で使うかもだからブログに簡単にまとめとけw 荒らした罰な
- 499 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/11(月) 02:22:50.42 .net]
- >>479
俺は書かないよ。だけどこのスレを参考にして誰かが書くかもしれないね。 その場合、このスレを参考にしましたって書いても書かなっくてもいいよ 他の誰かがこことは別に思いついて書くかもしれないけどw
- 500 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/11(月) 02:45:32.35 .net]
- スレチの自覚が無いとか、本当バカ
- 501 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/11(月) 02:49:17.37 .net]
- シェルスクリプトの話題なのにスレチってどういうこと?
- 502 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/11(月) 02:57:45.51 .net]
- >>482
俺はすべて分かってた。 ヒントだけ出してやったんだからありがたくいただけ。 これがスレ違い以外の何物だと...
- 503 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/11(月) 03:07:25.04 .net]
- ん? シェルスクリプト総合でしょ?
質問スレじゃないし シェルスクリプトの話題で楽しめばいいじゃん?
- 504 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/11(月) 03:30:27.23 .net]
- そろそろ仲直りしろよお前ら
- 505 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/11(月) 03:44:51.73 .net]
- 確かにそれ専用の文字があるならそれを使ったほうがいいね。
some data␟other data␟42␞ some data␟other data␟42␞ ↑こういうの。 既にそういうフォーマットがあってもいいと思うけどざっと検索したところでは見付からない。 なにか不都合でもあるのか、単純にU+001E/Fの知名度が低すぎるのか。 ところでPOSIX awkはRsやFSに任意の文字って指定できたっけ。GNU awkではできたんだけれど。
- 506 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/11(月) 04:48:35.52 .net]
- >>486
https://www.freebsd.org/cgi/man.cgi?query=awk&sektion=1 あるし、STANDARDSはもとより本文でも拡張したよってのは無いからPOSIXとしてあるんじゃね []- [ここ壊れてます]
- 508 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/11(月) 04:51:18.43 .net]
- pubs.opengroup.org/onlinepubs/9699919799/utilities/awk.html
こっちかこれか。あるね
- 509 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/11(月) 06:07:49.77 .net]
- つまらない点だから指摘していなかったが、
この話で U+ という表記はだめだぞ U+ というのはUnicodeの話で+の後の16進数は 文字集合におけるコードポイントだ U+001Eは符号方式がUTF-8だと0x1Eになるが、 UTF-16だと 0x00 0x1E(ビッグエンディアンの場合) もしくは 0x1E 0x00 (リトルエンディアンの場合) となる U+ だとUnicodeという文字集合を表すことになるが 符号方式がUTF-8だと決めつけることはできない
- 510 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/11(月) 09:45:54.74 .net]
- あほか
最初に本データの形式仕様から制定してもいいという条件を書かないから みんな処理元のデータ形式は弄れない前提で答えてるんやん 説明不足なのに自分だけ神視点でお題気取りか 死ぬほど痛々しいわ
- 511 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/11(月) 10:09:41.26 .net]
- ようやく気づいたわ
スレを盛り上げたかったんやな
- 512 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/11(月) 10:26:48.37 .net]
- 俺が主役が強すぎて贔屓目にみてもだな
- 513 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/11(月) 10:40:14.39 .net]
- 日本語で
- 514 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/11(月) 11:22:26.93 .net]
- >>490
> 最初に本データの形式仕様から制定してもいいという条件を書かないから > みんな処理元のデータ形式は弄れない前提で答えてるんやん データを加工(エスケープ)していいと書いてないのに勝手に加工してるやん? だから変えたら駄目って書いてないなら変えていいって前提で 答えてるでしょ?
- 515 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/11(月) 11:29:27.18 .net]
- スレは十分伸びたからもうええやろ
何と戦ってるんや
- 516 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/11(月) 11:43:52.49 .net]
- 自作自演ではないか
- 517 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/11(月) 13:33:30.08 .net]
- 結局特に解決や参考になるような話は出なかったね
まあ今更CSVで新ネタも出ないだろう
- 518 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/11(月) 13:38:57.30 .net]
- まだお前CSVって言ってんのか?
そんなにCSVの話だと勘違いしていたことが ショックだったのか?
- 519 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/11(月) 13:40:15.04 .net]
- もう引っ張るなや子供かよ
- 520 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/11(月) 13:42:59.29 .net]
- 元データの上書きとバッファにコピーしての加工を同列に語っちゃうんだすげえな
ていうか元データの仕様からやっていいなら最初から↓で 改行的な区切り文字を許さない仕様にすればいいだけじゃね > syori "a1" "a2" "a3" "a4" > syori "b1" "b2" "b3" "b4" > syori "c1" "c2" "c3" "c4"
- 521 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/11(月) 13:44:44.59 .net]
- さんざん偉そうだが全くコードを出さないのでお察しでもういいだろう
- 522 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/11(月) 14:09:05.24 .net]
- >>500
特に指定がない部分に関しては、 自由に変えていいと言ったの 改行が含まれてるとか、カンマやダブルクォートが含まれてるとかは 指定されているので、そこは変えたら駄目 当たり前だろ、ガキみたいな言い訳すんな
- 523 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/11(月) 14:10:12.79 .net]
- > 自由に変えていいと言ったの
変えていいと言うか、もともと指定がないから 変えるのではなくどんなものでもOKってことだが
- 524 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/11(月) 14:11:48.62 .net]
- >>502
これには同意する 変えてもいい/変えるべきなのは区切り文字。
- 525 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/11(月) 15:25:33.31 .net]
- もういい加減コードで語れ
どれほど偉そうにしてもコードがアレだったらアレだし、偉そうにしてなくても素晴らしいコードはそれだけで尊敬されるだろう。後者が断然かっこいいのに
- 526 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/11(月) 16:00:25.01 .net]
- 意訳 参考にしたいのでコード教えてください
- 527 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/11(月) 16:04:12.37 .net]
- いや、全然。使わないもの。それも勝手なお題のだし
まあ勉強のためというのでなら、それはあるかもだが、どんなんだかだな。そもそもコードはそういうものだろうし、教えてやるって立場なんだしなw
- 528 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/11(月) 16:50:37.25 .net]
- >>506
言ってやるなw
- 529 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/11(月) 17:10:06.71 .net]
- 結局一行も書けてない
- 530 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/11(月) 17:15:08.96 .net]
- ようやくこのスレも静かになるな…
- 531 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/11(月) 17:51:10.54 .net]
- そう思うやろ? 次のネタ準備中やで
- 532 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/11(月) 17:56:57.42 .net]
- なにこいつ
- 533 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/06/11(月) 18:49:50.82 .net]
- こいつもしかしてこの間の「標準入力と標準エラー出力を同時に操作したい」のアホか。
|

|