シェルスクリプトに関する総合スレッドです。
全般
・荒しは無視しましょう。
・丁寧な姿勢を心掛けましょう。
・ネチケット(死語)を意識しましょう。
・「○○(他の言語)でいいやん」は禁止。他のスレに行ってください。
前スレ: シェルスクリプト総合 その35
https://mevius.5ch.net/test/read.cgi/tech/1606221440/
関連スレ
・【Bash】Windows Subsystem for Linux【WSL】9
https://mao.5ch.net/test/read.cgi/linux/1607589861/
・Bashでプログラミング [転載禁止](c)2ch.net
https://mao.5ch.net/test/read.cgi/linux/1443885102/
・シェルスクリプト総合 その28
https://mevius.5ch.net/test/read.cgi/unix/1533154936/
・zsh その7
https://mevius.5ch.net/test/read.cgi/unix/1337844883/
・過去UNIXで使われていた ksh というシェルについて
https://mevius.5ch.net/test/read.cgi/unix/1582358403/
・【POSIX】UNIXプログラミング【BSD】 [転載禁止](c)2ch.net
https://mevius.5ch.net/test/read.cgi/unix/1443103705/
・おまえら! shell は何を使っているんですか?
https://mevius.5ch.net/test/read.cgi/unix/1012330865/
探検
シェルスクリプト総合 その36
■ このスレッドは過去ログ倉庫に格納されています
2021/02/25(木) 09:20:14.64ID:ZyJLXTlk
548デフォルトの名無しさん
2021/05/12(水) 00:48:09.14ID:w4TAZAbA #!/bin/sh はシェルスクリプトに書くものだってわかってる?
549デフォルトの名無しさん
2021/05/12(水) 00:49:26.60ID:w4TAZAbA POSIXシェルで書いてる人は、dashで動かすなんて想定してないからなw
550デフォルトの名無しさん
2021/05/12(水) 00:50:03.00ID:1N3VwigT >>545
いや、今どき組込システムで bash じゃなくて dash 使わざるを得ない程メモリが
逼迫しているか?って話よ
それに busybox だけ使うならそれでいいんだけどセットで使うアプリのスクリプトが
bash 依存だったりして結局 bash もイメージに組み込まざるをえないとかあり得る
(といういかあった)話なわけで
いや、今どき組込システムで bash じゃなくて dash 使わざるを得ない程メモリが
逼迫しているか?って話よ
それに busybox だけ使うならそれでいいんだけどセットで使うアプリのスクリプトが
bash 依存だったりして結局 bash もイメージに組み込まざるをえないとかあり得る
(といういかあった)話なわけで
551デフォルトの名無しさん
2021/05/12(水) 00:53:13.25ID:w4TAZAbA552デフォルトの名無しさん
2021/05/12(水) 01:00:08.38ID:1N3VwigT553デフォルトの名無しさん
2021/05/12(水) 01:01:55.36ID:w4TAZAbA 今からひっくり返せる戦況ってなんのこと?
すでに/bin/shがdashまたはashである環境が最多になってしまったから
脱bashの流れは止まらないって話?
すでに/bin/shがdashまたはashである環境が最多になってしまったから
脱bashの流れは止まらないって話?
554デフォルトの名無しさん
2021/05/12(水) 01:04:16.31ID:1N3VwigT555デフォルトの名無しさん
2021/05/12(水) 01:04:53.84ID:w4TAZAbA bashに限定したらダメでしょ?
dash/ashでは動かないんだから
dash/ashでは動かないんだから
556デフォルトの名無しさん
2021/05/12(水) 01:06:24.03ID:w4TAZAbA dash/ash用(つまりPOSIXシェル)で書けばbashでも動くが
bashの非POSIXシェル機能を使ったら、dash/ashで動かないってわかってますか?
bashの非POSIXシェル機能を使ったら、dash/ashで動かないってわかってますか?
557デフォルトの名無しさん
2021/05/12(水) 01:08:44.46ID:1N3VwigT >>553
いや bash 依存の #!/bin/sh なファイルがはびこっていてそれを駆逐できないって話なんだが
いや bash 依存の #!/bin/sh なファイルがはびこっていてそれを駆逐できないって話なんだが
558デフォルトの名無しさん
2021/05/12(水) 01:09:59.32ID:OO1NJlSc 本当すぐPOSIXの話題になるよな
559デフォルトの名無しさん
2021/05/12(水) 01:10:52.06ID:w4TAZAbA >>557
それはbash依存が問題なのではなくそのファイルが
メンテされてないっていうのが問題なだけ
そのファイルをメンテすればいい
メンテされてるなら
#!/bin/sh を #!/bin/bashに変更するだけ
それはbash依存が問題なのではなくそのファイルが
メンテされてないっていうのが問題なだけ
そのファイルをメンテすればいい
メンテされてるなら
#!/bin/sh を #!/bin/bashに変更するだけ
560デフォルトの名無しさん
2021/05/12(水) 01:11:51.40ID:w4TAZAbA561デフォルトの名無しさん
2021/05/12(水) 01:26:23.80ID:1N3VwigT >>556
君は(坊主憎けりゃ袈裟まで憎い的な) bashism 死すべしが強すぎて話がそれ過ぎるきらいがあるな
bash 依存のシェバンは #!/bin/bash って書くのは当然
#!/bin/sh は何に向けてるかわからんから #!/bin/dash って明示しようぜって話だぞ?
君は(坊主憎けりゃ袈裟まで憎い的な) bashism 死すべしが強すぎて話がそれ過ぎるきらいがあるな
bash 依存のシェバンは #!/bin/bash って書くのは当然
#!/bin/sh は何に向けてるかわからんから #!/bin/dash って明示しようぜって話だぞ?
562デフォルトの名無しさん
2021/05/12(水) 01:27:46.42ID:w4TAZAbA > #!/bin/sh は何に向けてるかわからんから
何に向けてるってPOSIXシェル全てだろ。何を言ってるんだ?
互換性がないならそれはそのシェルのバグであって
スクリプトの問題じゃない
何に向けてるってPOSIXシェル全てだろ。何を言ってるんだ?
互換性がないならそれはそのシェルのバグであって
スクリプトの問題じゃない
563デフォルトの名無しさん
2021/05/12(水) 01:28:10.36ID:w4TAZAbA #!/bin/dashだったらdash限定になるじゃん
アホなのかな?
アホなのかな?
564デフォルトの名無しさん
2021/05/12(水) 01:36:50.63ID:1N3VwigT565デフォルトの名無しさん
2021/05/12(水) 01:40:11.91ID:1N3VwigT >>562
> 何に向けてるってPOSIXシェル全てだろ。何を言ってるんだ?
だからそこに bash 拡張必須な困ったちゃんが混在してて排除しきれない
から POSIX シェルとは言い切れないってさっきから説明してんだろ
> 何に向けてるってPOSIXシェル全てだろ。何を言ってるんだ?
だからそこに bash 拡張必須な困ったちゃんが混在してて排除しきれない
から POSIX シェルとは言い切れないってさっきから説明してんだろ
566デフォルトの名無しさん
2021/05/12(水) 01:40:52.17ID:w4TAZAbA567デフォルトの名無しさん
2021/05/12(水) 01:42:05.81ID:w4TAZAbA568デフォルトの名無しさん
2021/05/12(水) 01:46:16.80ID:w4TAZAbA 私はこのスクリプトをPOSIXシェル用のコードで書いた
ちゃんと他のシェルで動くこともテストした
だから全てのPOSIXシェルで動作する
なので#!/bin/shにするのである
しかし私の中のもう一人の自分がdashでしか動かないかもしれないから
#!/bin/dashにしろというのである
なんて言う話だったら、頭がおかしいとしか思えないw
ちゃんと他のシェルで動くこともテストした
だから全てのPOSIXシェルで動作する
なので#!/bin/shにするのである
しかし私の中のもう一人の自分がdashでしか動かないかもしれないから
#!/bin/dashにしろというのである
なんて言う話だったら、頭がおかしいとしか思えないw
569デフォルトの名無しさん
2021/05/12(水) 02:04:49.76ID:w4TAZAbA つーかashとdashってほぼ同じでしょ?ashで動作してdashで動作しないことなんてあるの?
あるならdashで動作確認しろってところは変わらんがな
あるならdashで動作確認しろってところは変わらんがな
570デフォルトの名無しさん
2021/05/12(水) 02:05:08.70ID:VEm96Egx 理想主義者 vs 現実主義者
完全主義者 vs 悲観主義者
POSIX主義者 vs こだわらない派
落としどころはないな。。。
完全主義者 vs 悲観主義者
POSIX主義者 vs こだわらない派
落としどころはないな。。。
571デフォルトの名無しさん
2021/05/12(水) 02:10:51.35ID:w4TAZAbA POSIXに準拠したコードであれば/bin/shで動くんだから
#!/bin/shにすればいいってだけなんだがな
#!/bin/shにすればいいってだけなんだがな
572デフォルトの名無しさん
2021/05/12(水) 02:11:51.69ID:w4TAZAbA もちろんそれがdashでしか動かないって言うなら#!/bin/dashにするべきだがな
どのPOSIXシェルでも動くなら#!/bin/shでいい
どのPOSIXシェルでも動くなら#!/bin/shでいい
573デフォルトの名無しさん
2021/05/12(水) 02:28:43.75ID:qBxmR+eO ID:1N3VwigT
DebianやUbuntuで書いてあることを読んで出直せ
何もわかってないで自分が思うでしか言ってないだろう
DebianやUbuntuで書いてあることを読んで出直せ
何もわかってないで自分が思うでしか言ってないだろう
574デフォルトの名無しさん
2021/05/12(水) 02:30:20.07ID:qBxmR+eO >>570
DebianやUbuntuで書いてることはそんな対立を生まない至極もっともなことを書いてあるんだがな
DebianやUbuntuで書いてることはそんな対立を生まない至極もっともなことを書いてあるんだがな
575デフォルトの名無しさん
2021/05/12(水) 02:58:36.12ID:w4TAZAbA >>573
読んで出直したが何も変わらない。
お前がやってるその行為は
「DebianやUbuntuで書いてることを読んだら俺が正しいことが証明された。はい論破」
と言ってるのと何も変わらない
論破合戦がしたいなら、お前が書いてることを引用して
お前が言いたいことを主張しろ
読んで出直したが何も変わらない。
お前がやってるその行為は
「DebianやUbuntuで書いてることを読んだら俺が正しいことが証明された。はい論破」
と言ってるのと何も変わらない
論破合戦がしたいなら、お前が書いてることを引用して
お前が言いたいことを主張しろ
576デフォルトの名無しさん
2021/05/12(水) 02:59:27.57ID:w4TAZAbA >>574
DebianやUbuntuには#!/bin/shを#!/bin/dashにしろとは書かれていない
DebianやUbuntuには#!/bin/shを#!/bin/dashにしろとは書かれていない
577デフォルトの名無しさん
2021/05/12(水) 03:00:17.09ID:w4TAZAbA あ、俺に言われてるのと勘違いしたwww
ID:1N3VwigTに言ってるのか
ID:1N3VwigTに言ってるのか
578デフォルトの名無しさん
2021/05/12(水) 03:01:24.77ID:QztuhdBY お前に言ってねーよ
読めないいつものお前だろ?流石だな
わざと絡まないようにしてたのにwほんとお前はただただめんどくせえやつだな
読めないいつものお前だろ?流石だな
わざと絡まないようにしてたのにwほんとお前はただただめんどくせえやつだな
579デフォルトの名無しさん
2021/05/12(水) 03:02:31.85ID:QztuhdBY トンチンカンなことを並べてるしwww俺はそんなこと言ってねえのに
つくづくお前ってやつはただただただただめんどくさいだけのやつだなあ
つくづくお前ってやつはただただただただめんどくさいだけのやつだなあ
580デフォルトの名無しさん
2021/05/12(水) 03:14:44.73ID:QztuhdBY アホはほっておいて、まためんどくさいから最初と最後のへ
>>542
>dash を使わざるを得ないような極小環境
イミフ
/bin/sh が dash なLinuxディストリは普通にあるし。なんでそんな環境をと言い出すのかイミフすぎ
>>565
/bin/sh が POSIX shell であることが期待されているのは昔からだろう。どのくらい昔かは知らんがw
fileで #!/bin/sh なファイルがなんて出るか見てみ。fileのデータベースは公衆でメンテされていてのでソレなんだから大多数がそれを期待しているのは間違いないだろう
bashismなのが逸脱してるのとは別の話。bashismな #!/bin/sh は #!/bin/sh とするのは間違いだから #!/bin/bash に正しなさいというのが現在
あとdashにもなんかトンチンカンな難癖付けてるようだが、bashismと問題にしてるDebianがPOSIXから逸脱不足してるものを作るわけがないというのは常識的にわかるだろうにという
まあ、DebianやUbuntuで書いてあることを読んで出直せw
>>542
>dash を使わざるを得ないような極小環境
イミフ
/bin/sh が dash なLinuxディストリは普通にあるし。なんでそんな環境をと言い出すのかイミフすぎ
>>565
/bin/sh が POSIX shell であることが期待されているのは昔からだろう。どのくらい昔かは知らんがw
fileで #!/bin/sh なファイルがなんて出るか見てみ。fileのデータベースは公衆でメンテされていてのでソレなんだから大多数がそれを期待しているのは間違いないだろう
bashismなのが逸脱してるのとは別の話。bashismな #!/bin/sh は #!/bin/sh とするのは間違いだから #!/bin/bash に正しなさいというのが現在
あとdashにもなんかトンチンカンな難癖付けてるようだが、bashismと問題にしてるDebianがPOSIXから逸脱不足してるものを作るわけがないというのは常識的にわかるだろうにという
まあ、DebianやUbuntuで書いてあることを読んで出直せw
581デフォルトの名無しさん
2021/05/12(水) 03:18:24.36ID:rVJ0Zld2 > bashismな #!/bin/sh は #!/bin/sh とするのは間違いだから #!/bin/bash に正しなさいというのが現在
その理屈だと dashism な#!/bin/shは#!/bin/dashにしなさいってことになるだろw
その理屈だと dashism な#!/bin/shは#!/bin/dashにしなさいってことになるだろw
582デフォルトの名無しさん
2021/05/12(水) 03:20:25.42ID:QztuhdBY >>581
アホなレスすんなよwわざとだろ?w
アホなレスすんなよwわざとだろ?w
583デフォルトの名無しさん
2021/05/12(水) 03:22:04.92ID:rVJ0Zld2 はぁ?localとかPOSIXにないんだからdashismだろwww
584デフォルトの名無しさん
2021/05/12(水) 03:38:40.82ID:QztuhdBY バグじゃなのw ashのが残ってるとか
そういうのはdashismだからもちろん #!/bin/dash にすべきだろうな
そんなの使わないのが多いから見過ごされていても不思議ではないかな
他にもあるんだったらDebianに持って行った方がいいぞ。自ら ism を否定してるとこなんだから
そういうのはdashismだからもちろん #!/bin/dash にすべきだろうな
そんなの使わないのが多いから見過ごされていても不思議ではないかな
他にもあるんだったらDebianに持って行った方がいいぞ。自ら ism を否定してるとこなんだから
585デフォルトの名無しさん
2021/05/12(水) 03:54:18.34ID:QztuhdBY いや、Debianの明確な仕様だな。どこぞのスクリプトでも使ってるのほぼ見たことないから>>584って言ったけど、すまん
Debianがシェルスクリプト仕様として、POSIXから拡張した数少ない(5つ)うちの一つだな
その5つをあえて使うなら #!/bin/dash の方がいいかもね。Debianではその5つを使うなら #!/bin/sh でもいいとは言ってるけど(他のシェルでも対応してるからとかかな??)
Debianがシェルスクリプト仕様として、POSIXから拡張した数少ない(5つ)うちの一つだな
その5つをあえて使うなら #!/bin/dash の方がいいかもね。Debianではその5つを使うなら #!/bin/sh でもいいとは言ってるけど(他のシェルでも対応してるからとかかな??)
586デフォルトの名無しさん
2021/05/12(水) 08:14:16.52ID:rVJ0Zld2 dashismは5つもあるのかよw
じゃあだめだな。#!/bin/dashにしないといかんなwww
じゃあだめだな。#!/bin/dashにしないといかんなwww
587デフォルトの名無しさん
2021/05/12(水) 09:46:38.57ID:1N3VwigT >>580
> イミフ
> /bin/sh が dash なLinuxディストリは普通にあるし。なんでそんな環境をと言い出すのかイミフすぎ
その返しならイミフだろうなぁ
bash さえも入れたくない/Busyboxだけで極力少ないRAM/ROMで動作させる環境であって
PCやサーバではないよ
RAM が限られている環境だと1つでも bash スクリプトがあると dash と bash 両方で RAM を食って
しまうから、それならば /bin/sh を bash にしてしまった方がまだ軽いってなってしまう
そうなってくると「bash で書きたい人はシェバンに #!/bin/bash って書けば良いじゃん」で済まないわけ
で全部 dash 互換で書く必要がでてくる
シェバンに #!/bin/sh って書いてある他人が書いたスクリプトが bash 互換なのか dash 互換なのか
明示されていない以上、#!/bin/sh=dash 環境に移植する場合は書き直すか動作検証する必要がある
動作検証が終わったら #!/bin/dash って書きかえないと、そのファイルを引き継いだ人がまた
同じ作業を繰り返すことになるって考えよ
> イミフ
> /bin/sh が dash なLinuxディストリは普通にあるし。なんでそんな環境をと言い出すのかイミフすぎ
その返しならイミフだろうなぁ
bash さえも入れたくない/Busyboxだけで極力少ないRAM/ROMで動作させる環境であって
PCやサーバではないよ
RAM が限られている環境だと1つでも bash スクリプトがあると dash と bash 両方で RAM を食って
しまうから、それならば /bin/sh を bash にしてしまった方がまだ軽いってなってしまう
そうなってくると「bash で書きたい人はシェバンに #!/bin/bash って書けば良いじゃん」で済まないわけ
で全部 dash 互換で書く必要がでてくる
シェバンに #!/bin/sh って書いてある他人が書いたスクリプトが bash 互換なのか dash 互換なのか
明示されていない以上、#!/bin/sh=dash 環境に移植する場合は書き直すか動作検証する必要がある
動作検証が終わったら #!/bin/dash って書きかえないと、そのファイルを引き継いだ人がまた
同じ作業を繰り返すことになるって考えよ
588デフォルトの名無しさん
2021/05/12(水) 11:42:09.27ID:UQubkL4X >>586
何がもわからんくせに調べもしないくせに
ismの何が問題かもわからんくせに
自分が納得できないだけかよ、能書き小僧煩い
まあお前が納得できなくてそうするんだったら勝手にしてもいいぞ、その程度のことなんだろし
何がもわからんくせに調べもしないくせに
ismの何が問題かもわからんくせに
自分が納得できないだけかよ、能書き小僧煩い
まあお前が納得できなくてそうするんだったら勝手にしてもいいぞ、その程度のことなんだろし
589デフォルトの名無しさん
2021/05/12(水) 11:49:29.28ID:UQubkL4X >>587
ん?
>極論だが古典的なシステムでは /bin/sh は POSIX 準拠でさえないんだから
に対して、
>今時の /bin/sh の最低限度がPOSIXなんだよ
に対して、
>bash じゃなくて dash を使わざるを得ないような極小環境で現役なものはどこにあるの?
だよ?流れからイミフだな
で、今度は
>bash さえも入れたくない/Busyboxだけで極力少ないRAM/ROMで動作させる環境であって
と言い出すの?イミフのイミフだぞ(その後の延々としたのもw)
現在は、/bin/sh は POSIX shell というのが大勢、dash はそれになり得るというのが大勢
違うとお前ら個々が思うのは勝手にどうぞだが、それを理解しろと他人に求めるのは筋違いだな
そんなに自説に自信があるならDebianやfileのメーリングリストで問題提起してみ?w
ん?
>極論だが古典的なシステムでは /bin/sh は POSIX 準拠でさえないんだから
に対して、
>今時の /bin/sh の最低限度がPOSIXなんだよ
に対して、
>bash じゃなくて dash を使わざるを得ないような極小環境で現役なものはどこにあるの?
だよ?流れからイミフだな
で、今度は
>bash さえも入れたくない/Busyboxだけで極力少ないRAM/ROMで動作させる環境であって
と言い出すの?イミフのイミフだぞ(その後の延々としたのもw)
現在は、/bin/sh は POSIX shell というのが大勢、dash はそれになり得るというのが大勢
違うとお前ら個々が思うのは勝手にどうぞだが、それを理解しろと他人に求めるのは筋違いだな
そんなに自説に自信があるならDebianやfileのメーリングリストで問題提起してみ?w
590デフォルトの名無しさん
2021/05/12(水) 12:38:28.94ID:1N3VwigT591デフォルトの名無しさん
2021/05/12(水) 13:04:20.69ID:UQubkL4X592デフォルトの名無しさん
2021/05/12(水) 13:15:48.40ID:1N3VwigT >>591
そもそも 587 の内容は /bin/sh = ash/dash で頑張ってたけど
途中で /bin/sh = bash で行かざるを得ない/組込でも bash
入れざるを得ないなってなった事を説明しているわけで
589 の指摘を言われる所以は無い
君は同じスレのなかの時系列さえ読み解けない程読解力が低いんだよ
ちゃんと読めぐらいいわせろ
そもそも 587 の内容は /bin/sh = ash/dash で頑張ってたけど
途中で /bin/sh = bash で行かざるを得ない/組込でも bash
入れざるを得ないなってなった事を説明しているわけで
589 の指摘を言われる所以は無い
君は同じスレのなかの時系列さえ読み解けない程読解力が低いんだよ
ちゃんと読めぐらいいわせろ
593デフォルトの名無しさん
2021/05/12(水) 13:17:56.91ID:UQubkL4X594デフォルトの名無しさん
2021/05/12(水) 13:18:56.70ID:UQubkL4X595デフォルトの名無しさん
2021/05/12(水) 13:23:30.78ID:1N3VwigT >>593
いや、だから君は読解力がない/坊主憎けりゃ袈裟まで憎いで会話にならない、と
いや、だから君は読解力がない/坊主憎けりゃ袈裟まで憎いで会話にならない、と
596デフォルトの名無しさん
2021/05/12(水) 13:26:48.40ID:UQubkL4X >>593
そのレスから明らかにお前が自分の頭で思ったことが他人にもわかると思ってるな
>坊主憎けりゃ袈裟まで憎い
イミフwまた何を言っているんだか
だからお前は何を言いたいの?そんなイミフなこと言わずに書いてよ
自称読解力があるらしいのになんで俺に言っていること理解できないの?
(自称のそれは多分それは読解力ではなくて妄想力だと思われるけど)
そのレスから明らかにお前が自分の頭で思ったことが他人にもわかると思ってるな
>坊主憎けりゃ袈裟まで憎い
イミフwまた何を言っているんだか
だからお前は何を言いたいの?そんなイミフなこと言わずに書いてよ
自称読解力があるらしいのになんで俺に言っていること理解できないの?
(自称のそれは多分それは読解力ではなくて妄想力だと思われるけど)
597デフォルトの名無しさん
2021/05/12(水) 13:29:39.37ID:UQubkL4X598デフォルトの名無しさん
2021/05/12(水) 13:43:37.39ID:1N3VwigT >>597
>なんで俺の言っていること理解できないの
君は相手をディスる単語は使うが、なぜディスってるのかは説明しないんだから
理解してもらえないのは当然でしょ
「自分で調べろ」「バカと会話するだけ無駄」というレスのは解の一つではあるが
それを使うのであれば書き込んだ後はとっととスレ/板から去れよ
>なんで俺の言っていること理解できないの
君は相手をディスる単語は使うが、なぜディスってるのかは説明しないんだから
理解してもらえないのは当然でしょ
「自分で調べろ」「バカと会話するだけ無駄」というレスのは解の一つではあるが
それを使うのであれば書き込んだ後はとっととスレ/板から去れよ
599デフォルトの名無しさん
2021/05/12(水) 13:50:05.62ID:UQubkL4X /bin/sh が POSIX shell で汎用性があるスクリプトを書きたいというニーズはある
主に/大きなのはディストリかな
Debianは結構前からbashismを問題にしてる、/bin/sh が bash の頃から(でも、bashからdashに代えたのはUbuntuが先っぽいけど)
そういうある意味良き未来へw先導してるのがDebianなんだろし、そこで開発されてるdashにそれに沿った方向性を見るのは普通だと思うんだがな
全体的にwそういう方向性だろうし、俺はそれでいい、別に異論は無い、納得できるってだけなんだがな
ざっと見だけどなんかやたらbashという語が多いようだけど、bash好きなのかな?dashがPOSIXに近い、bashは/bin/shに合わないとか言う俺がbash嫌いだとでも思ってるのか?
>坊主憎けりゃ袈裟まで憎い
って。と妄想するけど?wまたいきなり何を言っているのかでいまだにわからんけど
主に/大きなのはディストリかな
Debianは結構前からbashismを問題にしてる、/bin/sh が bash の頃から(でも、bashからdashに代えたのはUbuntuが先っぽいけど)
そういうある意味良き未来へw先導してるのがDebianなんだろし、そこで開発されてるdashにそれに沿った方向性を見るのは普通だと思うんだがな
全体的にwそういう方向性だろうし、俺はそれでいい、別に異論は無い、納得できるってだけなんだがな
ざっと見だけどなんかやたらbashという語が多いようだけど、bash好きなのかな?dashがPOSIXに近い、bashは/bin/shに合わないとか言う俺がbash嫌いだとでも思ってるのか?
>坊主憎けりゃ袈裟まで憎い
って。と妄想するけど?wまたいきなり何を言っているのかでいまだにわからんけど
600デフォルトの名無しさん
2021/05/12(水) 13:51:57.48ID:UQubkL4X601デフォルトの名無しさん
2021/05/12(水) 14:44:21.97ID:1N3VwigT >>599
> /bin/sh が POSIX shell で汎用性があるスクリプトを書きたいというニーズはある
だからこそ #!/bin/sh じゃなくて #!/bin/dash って書こうよ
/bin/sh が /bin/bash なディストリが残ってる以上シェバンが #!/bin/sh のままじゃ
いつまでたっても bashism の問題は消えないんだ
コマンドがちょっと打てるだけでOSやシェル、その歴史なんて詳しくも無ければ
興味もない連中でさえシェルスクリプトはかけちゃうからとめられないんだ
>>600
その前段で既に話がかみ合ってないしこれは終わりにしよう
かみ合ってないのに話を終わらせなかった俺が悪かった
すまん
> /bin/sh が POSIX shell で汎用性があるスクリプトを書きたいというニーズはある
だからこそ #!/bin/sh じゃなくて #!/bin/dash って書こうよ
/bin/sh が /bin/bash なディストリが残ってる以上シェバンが #!/bin/sh のままじゃ
いつまでたっても bashism の問題は消えないんだ
コマンドがちょっと打てるだけでOSやシェル、その歴史なんて詳しくも無ければ
興味もない連中でさえシェルスクリプトはかけちゃうからとめられないんだ
>>600
その前段で既に話がかみ合ってないしこれは終わりにしよう
かみ合ってないのに話を終わらせなかった俺が悪かった
すまん
602デフォルトの名無しさん
2021/05/12(水) 14:56:03.65ID:LtxTQo1N >>601
>だからこそ #!/bin/sh じゃなくて #!/bin/dash って書こうよ
イミフ。何もわかってないじゃん。読解力あるんでしょ?w
>汎用性があるスクリプト
汎用性がわからんのか?可搬性と言えばいいのか?
だーかーらー、bashはbashismがあるから /bin/bash にしろって別の話だろうが。誰もそれに合わせたシェルを作らない/作れないんだから
お前のような迂闊さんのための話じゃないよ、#!/bin/sh なら POSIX shell で、それに近いのはdashっていう(何度繰り返したらわかるんだかw)
勉強不足でなんか困ったことがあってもそれは自責だな。お前でさえbashismって知っているのにw
>その前段で既に話がかみ合ってない
噛み合ってないもなんも、上のでさえお前は全然俺の言ってること理解してないじゃん
>>589ぐらいのイミフを噛み合うくらい簡単に説明できるだろうにw
まあ、いいよw(ナゾ)
>だからこそ #!/bin/sh じゃなくて #!/bin/dash って書こうよ
イミフ。何もわかってないじゃん。読解力あるんでしょ?w
>汎用性があるスクリプト
汎用性がわからんのか?可搬性と言えばいいのか?
だーかーらー、bashはbashismがあるから /bin/bash にしろって別の話だろうが。誰もそれに合わせたシェルを作らない/作れないんだから
お前のような迂闊さんのための話じゃないよ、#!/bin/sh なら POSIX shell で、それに近いのはdashっていう(何度繰り返したらわかるんだかw)
勉強不足でなんか困ったことがあってもそれは自責だな。お前でさえbashismって知っているのにw
>その前段で既に話がかみ合ってない
噛み合ってないもなんも、上のでさえお前は全然俺の言ってること理解してないじゃん
>>589ぐらいのイミフを噛み合うくらい簡単に説明できるだろうにw
まあ、いいよw(ナゾ)
603デフォルトの名無しさん
2021/05/12(水) 15:01:42.47ID:VEm96Egx 理想主義者は、互換シェルとかであきらめてないで、真shをつくればいいのに。
そうでなきゃ、いずれまた「dashism」が問題になるやろ。w
そうでなきゃ、いずれまた「dashism」が問題になるやろ。w
604デフォルトの名無しさん
2021/05/12(水) 15:04:52.73ID:LtxTQo1N 理想主義者でもないぞ現実主義だろうに
現実的に拡張可能な範囲での拡張なんだろう
POSIXと出されるとなんか変なこと思ってるのとちゃうか?
毒されすぎだろうここに居た/居るPOSIXなやつとかなんとか原理主義者にw
現実的に拡張可能な範囲での拡張なんだろう
POSIXと出されるとなんか変なこと思ってるのとちゃうか?
毒されすぎだろうここに居た/居るPOSIXなやつとかなんとか原理主義者にw
605デフォルトの名無しさん
2021/05/12(水) 15:06:17.30ID:1N3VwigT >>602
> イミフ。何もわかってないじゃん。読解力あるんでしょ?w
だからディスる(イミフと読解力あるんでしょで煽る)だけで終わらすんじゃなくて
どこが意味不明なのかちゃんと説明してよ
あとシェバンに #!/bin/sh と書いておきながらbash拡張で書く連中に対応する
方法については何度説明しても回答しないね
都合が悪い質問には一切回答しないでディスるだけとかいい加減飽きたぞ
> イミフ。何もわかってないじゃん。読解力あるんでしょ?w
だからディスる(イミフと読解力あるんでしょで煽る)だけで終わらすんじゃなくて
どこが意味不明なのかちゃんと説明してよ
あとシェバンに #!/bin/sh と書いておきながらbash拡張で書く連中に対応する
方法については何度説明しても回答しないね
都合が悪い質問には一切回答しないでディスるだけとかいい加減飽きたぞ
606デフォルトの名無しさん
2021/05/12(水) 15:11:48.53ID:LtxTQo1N607デフォルトの名無しさん
2021/05/12(水) 15:17:35.31ID:LtxTQo1N しっかし、自分から俺に「読解力」とか言い出しておいて、自分に返されたらディスる「だけ」とか。続いて書いてるのも読めないで
自己中も大概にしろと言いたい。もしくはよほど自分に効く言葉なのかな?そうだから俺に対して言い出したのかな?w
「読解力」なんてこれから相手に使わない方がいいよwイミフはイミフだから仕方がない自分から>>598すら説明できないそうだからw
と、余談も余談wだけど
自己中も大概にしろと言いたい。もしくはよほど自分に効く言葉なのかな?そうだから俺に対して言い出したのかな?w
「読解力」なんてこれから相手に使わない方がいいよwイミフはイミフだから仕方がない自分から>>598すら説明できないそうだからw
と、余談も余談wだけど
608デフォルトの名無しさん
2021/05/12(水) 15:23:26.30ID:LtxTQo1N609デフォルトの名無しさん
2021/05/12(水) 15:27:53.73ID:1N3VwigT610デフォルトの名無しさん
2021/05/12(水) 15:30:14.88ID:LtxTQo1N 頭悪そうなレス
それだけは言いたかったのね。なんでだろうねえw
それだけは言いたかったのね。なんでだろうねえw
611デフォルトの名無しさん
2021/05/12(水) 18:55:25.47ID:ZTB501LY まーたやってんのか
612デフォルトの名無しさん
2021/05/12(水) 20:05:28.08ID:zdSe0i8P 俺がいなくても同じことになるんやなw
613デフォルトの名無しさん
2021/05/13(木) 22:57:36.49ID:RCwmD/gq bash --posixが機能しない
614デフォルトの名無しさん
2021/05/16(日) 18:43:25.65ID:ijO7GKET >>472-473
#!/bin/sh
# POSIX準拠のシェルスクリプトはPythonスクリプトよりも寿命が長そうだからいいね
# Chrome拡張のLanguage Learning with Youtube BETA(提供元: Dioco)をインストール
# 字幕対応の動画ページを開いてキーボードのCキーを押す
# Fキーを押して全画面表示
# 画面下、動画の再生時間の横にOFFと表示されているアイコンをクリック
# 英語の字幕ではなくローマ字が表示される場合は、画面下の歯車アイコンをクリックして字幕設定を「英語>>日本語(自動生成)」から「英語(自動生成)」に変更
# 字幕の読み込み終了後、画面右上にある右矢印アイコン(エクスポート)をクリック
# Excelを選択してエクスポートをクリック
# 字幕ファイルのダウンロードが終わったらシェルスクリプトを実行
# pip install pandas openpyxl
python3 -c 'import glob, os, pandas; \
get_filename = glob.glob(os.getenv("HOME") + "/Downloads/*.xlsx"); \
read_xlsx = pandas.read_excel(get_filename[0], engine="openpyxl"); \
read_xlsx.to_csv(os.getenv("HOME") + "/Downloads/time_en_jp.csv", index=None, header=True)'
# cut: 2列目を抽出 | sed: 改行文字を空白スペースに変換
cat "$HOME/Downloads/time_en_jp.csv" | cut --delimiter="," --fields="2" | sed -z "s/\n/ /g" > "$HOME/Documents/en.txt"
cat "$HOME/Downloads/time_en_jp.csv" | cut -d "," -f 1,2 >> "$HOME/Documents/en.txt"
cat "$HOME/Downloads/time_en_jp.csv" | cut -d "," -f 1,3 >> "$HOME/Documents/en.txt"
mv $HOME/Downloads/*.xlsx ~/.local/share/Trash/files
google-chrome "$HOME/Documents/en.txt" \
$(echo "231c177a35b47c080030/smeti/4444nasam/moc.atiiq//:sptth" | rev) \
$(echo "/1873001261/piv4swen/igc.daer/tset/ten.hc5.ibeh//:sptth" | rev)
#!/bin/sh
# POSIX準拠のシェルスクリプトはPythonスクリプトよりも寿命が長そうだからいいね
# Chrome拡張のLanguage Learning with Youtube BETA(提供元: Dioco)をインストール
# 字幕対応の動画ページを開いてキーボードのCキーを押す
# Fキーを押して全画面表示
# 画面下、動画の再生時間の横にOFFと表示されているアイコンをクリック
# 英語の字幕ではなくローマ字が表示される場合は、画面下の歯車アイコンをクリックして字幕設定を「英語>>日本語(自動生成)」から「英語(自動生成)」に変更
# 字幕の読み込み終了後、画面右上にある右矢印アイコン(エクスポート)をクリック
# Excelを選択してエクスポートをクリック
# 字幕ファイルのダウンロードが終わったらシェルスクリプトを実行
# pip install pandas openpyxl
python3 -c 'import glob, os, pandas; \
get_filename = glob.glob(os.getenv("HOME") + "/Downloads/*.xlsx"); \
read_xlsx = pandas.read_excel(get_filename[0], engine="openpyxl"); \
read_xlsx.to_csv(os.getenv("HOME") + "/Downloads/time_en_jp.csv", index=None, header=True)'
# cut: 2列目を抽出 | sed: 改行文字を空白スペースに変換
cat "$HOME/Downloads/time_en_jp.csv" | cut --delimiter="," --fields="2" | sed -z "s/\n/ /g" > "$HOME/Documents/en.txt"
cat "$HOME/Downloads/time_en_jp.csv" | cut -d "," -f 1,2 >> "$HOME/Documents/en.txt"
cat "$HOME/Downloads/time_en_jp.csv" | cut -d "," -f 1,3 >> "$HOME/Documents/en.txt"
mv $HOME/Downloads/*.xlsx ~/.local/share/Trash/files
google-chrome "$HOME/Documents/en.txt" \
$(echo "231c177a35b47c080030/smeti/4444nasam/moc.atiiq//:sptth" | rev) \
$(echo "/1873001261/piv4swen/igc.daer/tset/ten.hc5.ibeh//:sptth" | rev)
615デフォルトの名無しさん
2021/05/16(日) 22:22:55.41ID:ZJ9kaJzK CSV 形式に対して、cut は機能するのか?
データ中に、カンマを含んでいても、正常に抜き出せるのか?
データ中に、カンマを含んでいても、正常に抜き出せるのか?
616デフォルトの名無しさん
2021/05/16(日) 22:34:03.36ID:vtPLFS21 >>615
含んでないことを前提にできるならええがな。
含んでないことを前提にできるならええがな。
617デフォルトの名無しさん
2021/05/17(月) 00:20:52.65ID:HtlvZdi5 https://twitter.com/col_richie/status/1393925115386101766
> 「POSIX原理主義とはPOSIX文書に従うこと」と思われがちだが、
> 我々の定義は少し違う。「POSIX文書が言わんとすることを読み取り、実践する」だ
>
> 例えば、日本国憲法24条の「婚姻は両性の同意のみに基づいて」を、
> 同性婚時代にどう解釈すべきかのようなもの。元の文章に捕らわれ思考停止してはいけない
ほんと、こいつって適当なことばかり言ってるよな
とうとうPOSIX原理主義はPOSIXとは関係ない。POSIXが書いてないことを
独自解釈して自分の都合のいいように言い換えてるって認めちゃってる。
その「我々の定義」は「POSIX原理主義」のどこにも書いてないと言うね
そしていつものように、全く関係ないものにたとえて
虎の威を借る狐作戦
一貫性がない、思いつきだけで発言してる
https://twitter.com/5chan_nel (5ch newer account)
> 「POSIX原理主義とはPOSIX文書に従うこと」と思われがちだが、
> 我々の定義は少し違う。「POSIX文書が言わんとすることを読み取り、実践する」だ
>
> 例えば、日本国憲法24条の「婚姻は両性の同意のみに基づいて」を、
> 同性婚時代にどう解釈すべきかのようなもの。元の文章に捕らわれ思考停止してはいけない
ほんと、こいつって適当なことばかり言ってるよな
とうとうPOSIX原理主義はPOSIXとは関係ない。POSIXが書いてないことを
独自解釈して自分の都合のいいように言い換えてるって認めちゃってる。
その「我々の定義」は「POSIX原理主義」のどこにも書いてないと言うね
そしていつものように、全く関係ないものにたとえて
虎の威を借る狐作戦
一貫性がない、思いつきだけで発言してる
https://twitter.com/5chan_nel (5ch newer account)
618デフォルトの名無しさん
2021/05/17(月) 03:39:44.44ID:j+9HqG9Y 見落としてた
Language Learning with Youtube BETAが出力する字幕にカンマが表示されることがないから
cutコマンドを使ってCSVファイルのn列目フィールドを抽出できてる
sepオプションで区切り文字に'~'を指定してcomma-separated values (csv)ならぬpython-separated value(psv)ファイル
にすれば英文データ中にカンマを含んでいても正常に抽出できるよ
read_xlsx.to_csv(os.getenv("HOME") + "/Downloads/time_en_jp.csv", index=None, header=True, sep='~')'
Language Learning with Youtube BETAが出力する字幕にカンマが表示されることがないから
cutコマンドを使ってCSVファイルのn列目フィールドを抽出できてる
sepオプションで区切り文字に'~'を指定してcomma-separated values (csv)ならぬpython-separated value(psv)ファイル
にすれば英文データ中にカンマを含んでいても正常に抽出できるよ
read_xlsx.to_csv(os.getenv("HOME") + "/Downloads/time_en_jp.csv", index=None, header=True, sep='~')'
619デフォルトの名無しさん
2021/05/19(水) 10:30:30.70ID:nuPY3Cay620デフォルトの名無しさん
2021/05/19(水) 11:52:01.66ID:ZyjXFBY0 csvはほんとギルティ、特にクオートしてるやつ…
(["'])[^"']*\1やその,版をベースに個別にチューンしてなんとかならん事もないけど
普通に高級ライブラリ(pwshのパーサとか)呼んで見つけ次第tsvに浄化、常にtsvを扱うのがベストプラクティス
タブが嫌ならascii c0 separator svでも何でもcsvよりはマシ
(["'])[^"']*\1やその,版をベースに個別にチューンしてなんとかならん事もないけど
普通に高級ライブラリ(pwshのパーサとか)呼んで見つけ次第tsvに浄化、常にtsvを扱うのがベストプラクティス
タブが嫌ならascii c0 separator svでも何でもcsvよりはマシ
621デフォルトの名無しさん
2021/05/19(水) 12:10:40.76ID:/qVnw8Ux テキストにタブが含まれてたら同じやろ。
結局、ダメなときはダメ。
しゃあない。
結局、ダメなときはダメ。
しゃあない。
622デフォルトの名無しさん
2021/05/19(水) 12:15:24.52ID:nuPY3Cay >>620
つか、CSVに限らず、シェルスクリプトで扱うなら、とにかくTSVでしょう。
だから、他のデータはとにかくまずTSVにしてしまう。
それさえ出来てしまえば、逆に後はどうにでもなるw
またシェルスクリプトでなくても、タブは単独の区切り文字としてはベスト。
まずよっぽどでない限り、フィールドの内容には出てこないから。
つか、CSVに限らず、シェルスクリプトで扱うなら、とにかくTSVでしょう。
だから、他のデータはとにかくまずTSVにしてしまう。
それさえ出来てしまえば、逆に後はどうにでもなるw
またシェルスクリプトでなくても、タブは単独の区切り文字としてはベスト。
まずよっぽどでない限り、フィールドの内容には出てこないから。
623デフォルトの名無しさん
2021/05/19(水) 12:28:25.62ID:ZROa3PFa >まずよっぽどでない限り、フィールドの内容には出てこないから
一番使われたであろうソースコード記述でもタブを嫌いスペースが主流だったりするしな
一番使われたであろうソースコード記述でもタブを嫌いスペースが主流だったりするしな
624デフォルトの名無しさん
2021/05/19(水) 12:40:24.36ID:ZyjXFBY0 sed s/^I/taaab/gとかエスケープしとけばいいんでない?(^Iは本当のタブ文字)
sedはc風のエスケープも認識した気がする、クオートしないとshに食われるが
s/'\t'/taaab/gでも多分大丈夫かな
sedはc風のエスケープも認識した気がする、クオートしないとshに食われるが
s/'\t'/taaab/gでも多分大丈夫かな
625デフォルトの名無しさん
2021/05/19(水) 12:45:00.65ID:nuPY3Cay626デフォルトの名無しさん
2021/05/19(水) 12:45:04.60ID:ZROa3PFa そんな話してないよ
627デフォルトの名無しさん
2021/05/19(水) 12:46:44.79ID:ZROa3PFa フィールドの内容に出てくるのを想定した場合の話か
ごめんちゃい
ごめんちゃい
628デフォルトの名無しさん
2021/05/19(水) 12:51:26.96ID:ZyjXFBY0 値内のタブは代わりの文字に置き換えて、tsvのデリミタにホントのタブ使うってことね
catやらで書き出してもちゃんとテーブルに見える利点は大きい(適宜タブ幅整えれば)
ascii C0のセパレータは認識しないアプリ多いし、vimで開くとかcat -vteしないと正体不明なので筋が悪いか
自分が何使ったか忘れて頭を捻ることになる
taaabでも何でも良いが、タブであることが一目で分かれば便利
その用途に文字列"\t"が標準的な大体記法だからといって、これに置き換えるのは避けたほうがいいかも
どこかで勝手に解釈されかねない
C0のセパレータがまさにdsvの為の文字なんだけれどもなあ…
扱いづらい
catやらで書き出してもちゃんとテーブルに見える利点は大きい(適宜タブ幅整えれば)
ascii C0のセパレータは認識しないアプリ多いし、vimで開くとかcat -vteしないと正体不明なので筋が悪いか
自分が何使ったか忘れて頭を捻ることになる
taaabでも何でも良いが、タブであることが一目で分かれば便利
その用途に文字列"\t"が標準的な大体記法だからといって、これに置き換えるのは避けたほうがいいかも
どこかで勝手に解釈されかねない
C0のセパレータがまさにdsvの為の文字なんだけれどもなあ…
扱いづらい
629デフォルトの名無しさん
2021/05/19(水) 12:55:58.11ID:ZyjXFBY0630デフォルトの名無しさん
2021/05/19(水) 12:59:10.19ID:nuPY3Cay >>628
> その用途に文字列"\t"が標準的な大体記法だからといって、これに置き換えるのは避けたほうがいいかも
うん。それはまずい。
そも普通のコマンドで\t解釈しないのはgrepぐらいのものだと思う。
(これ、ほんと凄い罠なんだよw)
> その用途に文字列"\t"が標準的な大体記法だからといって、これに置き換えるのは避けたほうがいいかも
うん。それはまずい。
そも普通のコマンドで\t解釈しないのはgrepぐらいのものだと思う。
(これ、ほんと凄い罠なんだよw)
631デフォルトの名無しさん
2021/05/19(水) 13:09:34.54ID:nuPY3Cay >>629
まあ、それなら<-tab->とか、なんなら((tab))とか、[[#tab#]]とかでも、いいけどw
んでもtaaabとかはやめようよ、だって見やすくないし、わかりやすくないし、それこそフィールド値として出てきかねない(まあ、スペースが入ってないとかのタイポだろうけれども)しw
まあ、それなら<-tab->とか、なんなら((tab))とか、[[#tab#]]とかでも、いいけどw
んでもtaaabとかはやめようよ、だって見やすくないし、わかりやすくないし、それこそフィールド値として出てきかねない(まあ、スペースが入ってないとかのタイポだろうけれども)しw
632デフォルトの名無しさん
2021/05/19(水) 13:11:35.15ID:EPM7ZqxF いっそ絵文字にしちゃえば
633デフォルトの名無しさん
2021/05/19(水) 13:16:05.73ID:ZyjXFBY0 >>630,631
覚えておく、ありがと
あと標準ツールで\記法を解釈しないのはedだね
edの直系子孫のgrepとsedで異なるのは興味深いね
結局はオレオレ記法に頼るしかないのな…
tsvほどポータブルでないが、bash等配列サポートbshならdeclare(typeset) -pで再読み込み可能なようにダンプしてくれるね
内部的に使うならこれもありかな
覚えておく、ありがと
あと標準ツールで\記法を解釈しないのはedだね
edの直系子孫のgrepとsedで異なるのは興味深いね
結局はオレオレ記法に頼るしかないのな…
tsvほどポータブルでないが、bash等配列サポートbshならdeclare(typeset) -pで再読み込み可能なようにダンプしてくれるね
内部的に使うならこれもありかな
634デフォルトの名無しさん
2021/05/19(水) 13:20:50.01ID:isp/WQPk >>622
> またシェルスクリプトでなくても、タブは単独の区切り文字としてはベスト。
シェルスクリプトにおいてはタブ区切りはベストではない。
なぜなら空白系文字の一つで特殊な処理が行われるから。
foo,bar,baz という CSVは IFS="," read -r f1 f2 f3 で正しく読み込める。
foo,,baz でも正しく、f1="foo"、f2=""、f3="baz" と読み込める。
しかしこれがタブ区切り(タブ文字=<TAB>とする)であった場合、
空白系文字が連続している場合は一つとして扱われるという例外ルールにより、
foo<TAB><TAB>baz という CSV は IFS=<TAB> read -r f1 f2 f3 と読み込むと、
f1="foo"、f2="baz"、f3="" と間違って読み込まれる。
> またシェルスクリプトでなくても、タブは単独の区切り文字としてはベスト。
シェルスクリプトにおいてはタブ区切りはベストではない。
なぜなら空白系文字の一つで特殊な処理が行われるから。
foo,bar,baz という CSVは IFS="," read -r f1 f2 f3 で正しく読み込める。
foo,,baz でも正しく、f1="foo"、f2=""、f3="baz" と読み込める。
しかしこれがタブ区切り(タブ文字=<TAB>とする)であった場合、
空白系文字が連続している場合は一つとして扱われるという例外ルールにより、
foo<TAB><TAB>baz という CSV は IFS=<TAB> read -r f1 f2 f3 と読み込むと、
f1="foo"、f2="baz"、f3="" と間違って読み込まれる。
635デフォルトの名無しさん
2021/05/19(水) 13:23:02.17ID:ZyjXFBY0 内部的というか、個人的に、だな
個人的にならそれこそモダンなパーサ使えよって話だし、declare等中途半端なハックはやめておこう
ごめん
個人的にならそれこそモダンなパーサ使えよって話だし、declare等中途半端なハックはやめておこう
ごめん
636デフォルトの名無しさん
2021/05/19(水) 13:24:53.12ID:isp/WQPk 名前は忘れたけど、シェルスクリプトでCSVを扱うためのライブラリかコマンドを見かけたことがある
awk実装のパーサーを使ってたはず。githubでawk csv で検索して見つけたんだったかな?
まあいくつかあったはず。
awk実装のパーサーを使ってたはず。githubでawk csv で検索して見つけたんだったかな?
まあいくつかあったはず。
637デフォルトの名無しさん
2021/05/19(水) 13:27:02.65ID:isp/WQPk たしかシェルスクリプトで扱いやすいように区切り文字を変換する機能とかエスケープする機能とかとかがあったはず
638デフォルトの名無しさん
2021/05/19(水) 13:34:02.00ID:ZyjXFBY0 空白文字としてシェルにパース(単語分割)される、って性質もシェルスクリプティングにおいて便利な場面(forで回したり)は多々あるので一概に悪いとは思わないよ
スペースあるならtsvは避けるとか、IFSをコマンド前置代入で弄るとか、ハッキリ区別したいなら値をクオートしてワンステップ分割を遅延させたりとか
tsvは厳密性と利便性の真ん中の立ち位置だね
シェルスクリプティングにおいて、総合的に見ていい形式だと思うよ、(いざバグるその時までは…)
スペースあるならtsvは避けるとか、IFSをコマンド前置代入で弄るとか、ハッキリ区別したいなら値をクオートしてワンステップ分割を遅延させたりとか
tsvは厳密性と利便性の真ん中の立ち位置だね
シェルスクリプティングにおいて、総合的に見ていい形式だと思うよ、(いざバグるその時までは…)
639デフォルトの名無しさん
2021/05/19(水) 13:45:54.49ID:nuPY3Cay >>632
まあ今時のシェル環境なら絵文字も実際なしじゃないと個人的には思う。
ただ、滅多にないといってもポータビリティ損うのは嫌だから自分はやらないがw
>>633
edかw
ありがとう、覚えておく。
>>634
いや、タブが不適切な場合がありうることは、端から除外してないよ。
標準ツールの実装や文字としての意味合いなどから考えて、ベストだと言ってるので、
そういう特殊な状況がありうることは指摘されるまでもないよw
>>636
awk実装なら欲しい、それw
csvparseなんてコマンドも昔sourceforgeにあって、一時期入れてた。C実装だったので、
でかいファイルを扱うときに重宝したけど、あんまりできがよくなかったんで、今は…
あとC++が書けるなら、boostライブラリ(11標準に入ってるかも)でエスケープ処理できる
パーサを簡単に書けるやつがあったんで、それで挑戦って手もあるかもw
自分は、そんなことを考えているうちに、>>619のq(-text-as-data)を見付けてしまったので、
以後はこれに頼ってるw
まあ今時のシェル環境なら絵文字も実際なしじゃないと個人的には思う。
ただ、滅多にないといってもポータビリティ損うのは嫌だから自分はやらないがw
>>633
edかw
ありがとう、覚えておく。
>>634
いや、タブが不適切な場合がありうることは、端から除外してないよ。
標準ツールの実装や文字としての意味合いなどから考えて、ベストだと言ってるので、
そういう特殊な状況がありうることは指摘されるまでもないよw
>>636
awk実装なら欲しい、それw
csvparseなんてコマンドも昔sourceforgeにあって、一時期入れてた。C実装だったので、
でかいファイルを扱うときに重宝したけど、あんまりできがよくなかったんで、今は…
あとC++が書けるなら、boostライブラリ(11標準に入ってるかも)でエスケープ処理できる
パーサを簡単に書けるやつがあったんで、それで挑戦って手もあるかもw
自分は、そんなことを考えているうちに、>>619のq(-text-as-data)を見付けてしまったので、
以後はこれに頼ってるw
640デフォルトの名無しさん
2021/05/19(水) 16:24:49.16ID:MofjHbZu641デフォルトの名無しさん
2021/05/19(水) 17:37:46.30ID:NrDqbXHa while IFS=$'¥t' readでTSV読むと空文字が飛ばされるんだけど
どうしたらいいの?
どうしたらいいの?
642デフォルトの名無しさん
2021/05/19(水) 18:07:23.61ID:isp/WQPk 絶対入らないであろう制御文字とか別の文字にsedで置換してから処理すればいいんじゃね?
644デフォルトの名無しさん
2021/05/20(木) 07:49:17.82ID:46+G9eEq > 日本語では、「分かる(understand)」と「分ける(divide)」とは同じ字を充てます。つまり理解することと分類するということは同義です。
???
英語では、「分かる(understand)」と「分ける(divide)」とは異なる単語を充てます。つまり理解することと分類するということは全く別です。
となるのでは?w
???
英語では、「分かる(understand)」と「分ける(divide)」とは異なる単語を充てます。つまり理解することと分類するということは全く別です。
となるのでは?w
645デフォルトの名無しさん
2021/05/20(木) 12:53:36.47ID:ensXejIN divide も「分類する」という意味に取ることはできる。分類が理解ならば。
646デフォルトの名無しさん
2021/05/20(木) 13:17:23.56ID:ALA05zio 綴りが同じでも意味が違う場合がある
意味が同じでも別の綴りで表現することもある
言葉の常識だな
意味が同じでも別の綴りで表現することもある
言葉の常識だな
647デフォルトの名無しさん
2021/05/22(土) 08:35:59.42ID:eaqGXRkT >>618だとうまくいかないので訂正する
read_xlsx.to_csv(os.getenv("HOME") + "/Downloads/time_en_jp.csv", index=None, header=True, sep='~')'
ではなくて
read_xlsx.to_csv(os.getenv("HOME") + "/Downloads/time_en_jp.csv", index=None, header=True, sep="~")'
read_xlsx.to_csv(os.getenv("HOME") + "/Downloads/time_en_jp.csv", index=None, header=True, sep='~')'
ではなくて
read_xlsx.to_csv(os.getenv("HOME") + "/Downloads/time_en_jp.csv", index=None, header=True, sep="~")'
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 高市早苗総理「金利上昇よりも日本の成長が大事」 [Hitzeschleier★]
- 【将棋】福間香奈 女流六冠が会見 妊娠・出産でタイトル戦の事実上不戦敗 「妊娠したら、どちらか一方を諦めないといけない状況」 [冬月記者★]
- 「残クレ」でマイホーム、国が銀行向け保険 新型住宅ローン普及促す -日経 ★2 [少考さん★]
- 【速報】 米国政府、中国が日本の自衛隊にレーダーを照射を批判、同事案で中国を批判するのは初めて [お断り★]
- 【コメ】卸売業者「簡単に安売りできない」「大暴落起きれば大赤字に」 JA「新米の販売進度が近年になく遅い。コメの回転が悪い」 ★2 [Hitzeschleier★]
- 【野球】止まらぬ野球人口減少に危機感 ラミレス氏「野球人口は激減、人気自体も下がっている」「もっと野球ができる環境を整えるべき」 [冬月記者★]
- 【高市速報】小泉進次郎「事前に中国軍から飛行訓練を開始すると連絡があったのは事実」★2 [931948549]
- マイナンバーカード更新のために役所までいなきゃいけなくてワロタ [931948549]
- 【悲報】台湾「ジャップさあ、捕鯨すんのやめろ!」 [616817505]
- 高市と維新、国会で鈴木大臣を褒めまくるwww「現場のことを分かってる!鈴木大臣はようやっとる!」 [888298477]
- 【悲報】たけガイ、「中卒」という言葉を覚えてしまう🏡
- JR東海「リニア工事で水が枯れるのは一瞬だし回復させる手立てないわこれ」 [744361492]
