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

■ このスレッドは過去ログ倉庫に格納されています
2020/11/24(火) 21:37:20.06ID:mbTiTj6s
シェルスクリプトに関する総合スレッドです。

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

前スレ: シェルスクリプト総合 その34
https://mevius.5ch.net/test/read.cgi/tech/1597990675/
2020/12/08(火) 23:12:57.26ID:TAcWm+rA
>>257
いやいやそれを俺に言うのは違うでしょ。
俺は >>156 でいいじゃん,と言っている。

ところが >>203 やら >>250 で,
「AWKやsedを使わない」
「POSIX準拠の」
という条件が出てきている訳だ。
それは純粋に知りたいでしょ。
俺の知っているPOSIXに準拠しつつ
UNIX時間変換を行えるのはAWKでのやりかた。
2020/12/09(水) 00:29:09.55ID:vZ4bQifg
あれ,全然出てこないな。
くっだらねえ反論はあれだけ反射的なのにw
2020/12/09(水) 00:32:59.35ID:jODQKuwy
口先POSIXおじさんw
2020/12/09(水) 00:45:24.40ID:XzWvmoKM
単純な時間計算の質問をネタにマウンティング合戦を1週間も続けられるってすごいよね

シェルスクリプトにこだわる人はさすが生産的!!
2020/12/09(水) 00:58:47.06ID:eCHhpLek
>>258
ググったらすぐ出てきたよ?
キーワードはこのスレに書いてある
2020/12/09(水) 01:21:27.68ID:S42PKcAA
志村けんは生きてるよ?
ググったら詳細出てくる
2020/12/09(水) 01:25:58.77ID:eCHhpLek
そうにかして言い返そうと頑張ったんだろうなとは思う(笑)
2020/12/09(水) 01:26:14.19ID:eCHhpLek
どうにかして
2020/12/09(水) 01:48:07.85ID:vZ4bQifg
なぜ、現物を持って来れないのか。
理由は自ずと分かるよね?
2020/12/09(水) 01:49:45.29ID:vZ4bQifg
>>260
そのあだ名いいなw
>>262 なんて典型的。
2020/12/09(水) 01:50:34.09ID:eCHhpLek
>>249
> なるほど,ではAWKやsedを使わずに,
> 「POSIX準拠のシェルスクリプトでのUNIXタイムの変換」
> を示してください。

「POSIX準拠のシェルスクリプトでのUNIXタイムの変換」でGoogleで検索して
上位5つの検索結果=「現物」を持ってきてください
人によって順位は違うらしいからね

なぜ現物を持ってこれないのか?
検索で簡単に見つかるという現実を受け入れられないからなのかな?
2020/12/09(水) 01:51:21.47ID:eCHhpLek
検索結果を貼り付けるだけでいいんだけどな
なんでそんな簡単なことができないんだろう?
2020/12/09(水) 02:03:19.79ID:S8QsR+fb
天才的w計算式で確証持てないとかかなあ
もしくは本当にググればすぐ出てるだろうかw
2020/12/09(水) 02:32:53.12ID:eCHhpLek
まあ計算式みても確証は持てないわな

Rich’s sh (POSIX shell) tricks
http://www.etalabs.net/sh_tricks.html
これ有名な記事なんだけど、ここに書いてあるUNIXタイムへの
天才的な計算式はバグってる

https://lobste.rs/s/uk5esr/rich_s_sh_posix_shell_tricks
ここで指摘されてる

何がいいたいかって言うと、この手のやつは計算式でもアルゴリズムでも
ぱっと見で確証持てないなんて当たり前だよってこと
うるう年の計算でさえ人類は何度もバグを入れてきた
2020/12/09(水) 02:37:26.28ID:eCHhpLek
ん?今気づいたが>>156のやつって、Rich’s sh (POSIX shell) tricksに
書いてあるバグありバージョンじゃんw
echoに書き換えてるから気づかなかったが計算式が一緒

awkスクリプトのやつも正しいかどうかわからんよねと
言おうとして、見返して気づいた
2020/12/09(水) 02:44:05.93ID:eCHhpLek
比較してみたw 上から、
 ・>>156版(バグ)
 ・Rich’s sh (POSIX shell) tricks版(バグ)
 ・訂正版

echo $(( $(TZ=GMT0 date +"((%Y-1600)*365+(%Y-1600)/4-(%Y-1600)/100+(%Y-1600)/400+1%j-1000-135140)*86400+(1%H-100)*3600+(1%M-100)*60+(1%S-100)") ))
echo $(( `TZ=GMT0 date +"((%Y-1600)*365+(%Y-1600)/4-(%Y-1600)/100+(%Y-1600)/400+1%j-1000-135140)*86400+(1%H-100)*3600+(1%M-100)*60+(1%S-100)"` ))
echo $(( `TZ=GMT0 date +"((%Y-1600)*365+(%Y-1601)/4-(%Y-1601)/100+(%Y-1601)/400+1%j-1000-135140)*86400+(1%H-100)*3600+(1%M-100)*60+(1%S-100)"` ))

3箇所、1601を1600に書き間違えてるんだな
検証大事
2020/12/09(水) 02:48:54.69ID:znx7LG09
あれほど自分で言い張ってたくせに
2020/12/09(水) 02:51:35.80ID:eCHhpLek
>>274
誰にレスしてるのか知らないが、多分レスする相手を間違ってる
2020/12/09(水) 02:52:11.84ID:AAEJArmB
>>267
本当に口先口数だけだったなw
2020/12/09(水) 02:55:23.53ID:eCHhpLek
ということで、検索ぐらいしましょうねw
じゃあ寝る
2020/12/09(水) 02:56:41.58ID:jODQKuwy
このようにPOSIXに拘泥するとバグります。
と言うよりPOSIXバカは一般人よりバグを出す率が高い。
証拠はググったら出てくるw
2020/12/09(水) 02:57:35.34ID:eCHhpLek
POSIX関係ない。単に>>156がバカなだけ
検証もせずバグありコードと冗長なawkスクリプト持ってきてるw
2020/12/09(水) 03:01:08.59ID:AAEJArmB
またいつものごまかしw
2020/12/09(水) 03:03:51.77ID:eCHhpLek
バグコードでした・・・事実
冗長なawkコードでした・・・事実
2020/12/09(水) 09:31:11.63ID:vZ4bQifg
自分がコードを出せないからといって他人を僻むのはやめましょうw
結局、POSIXの範囲でUnixタイム→通常時間への変換はAWK使う方法くらいしかない。

ほんまポジバカは口先だけで何も生産しようとしないな。
別に擁護する訳じゃないが、ちゃんとコードを出すだけ >>156 とかのほうがまだマシ
バグがあったとしても指摘して修正できる。
一方、コードを出さなければいつまでたっても自分の間違いをつっつかれることはない。
2020/12/09(水) 10:06:49.17ID:ZEWfqGU4
>>282
なんてキーワードで検索した?
なんで検索結果の上位5位という「現物」を
ここに貼り付けられないの?

再掲
> 「POSIX準拠のシェルスクリプトでのUNIXタイムの変換」でGoogleで検索して
> 上位5つの検索結果=「現物」を持ってきてください
> 人によって順位は違うらしいからね
>
> なぜ現物を持ってこれないのか?
> 検索で簡単に見つかるという現実を受け入れられないからなのかな?
2020/12/09(水) 10:52:32.53ID:PAUMj9+d
簡単に見つかるなら貼ればいいじゃん
貼れないのは無いから
2020/12/09(水) 10:56:12.39ID:h/snEzA+
まだやっててわろた
2020/12/09(水) 11:32:48.42ID:LWKBPFtb
ポバカ vs アンチポ
というよりは、検索の押し付けあい?w
2020/12/09(水) 11:59:10.93ID:ZEWfqGU4
検索結果の上位5位がないってどういう状態?
見つけたものじゃなくて、検索結果だよ。
Google検索が壊れてるの?
2020/12/09(水) 12:19:16.95ID:vZ4bQifg
どんだけ検索結果にこだわってんだよwww
そんなのどうでもいいから
お前が見つけたサイトやら記事やらを晒せって言ってんだよ。

頭おかしいなりに付き合ってたら
ポジキチからなにかPOSIX準拠でAWKに依存しないコードが得られるかも
と思ってここまでレスを返してあげてきたがもういいわ。
>>156 のutconvで十分。
AWKスクリプトがどうとかは関係ない。
あとPOSIXにこだわるのをやめるのも一つの手だぞ。
date -dとか%sとかなんてほぼどんなシステムでも使えるんだから。
2020/12/09(水) 12:32:45.70ID:ZEWfqGU4
> ポジキチからなにかPOSIX準拠でAWKに依存しないコードが得られるかも

だから検索したら得られるって何度も言ってる
検索キーワードも(誰かがw)書いた
得られるのは確定、お前に検索ぐらいしろよと言ってるだけ
2020/12/09(水) 12:35:10.53ID:ZEWfqGU4
> date -dとか%sとかなんてほぼどんなシステムでも使えるんだから。

有名である程度のシェアを持ってるmacOSで使えない
2020/12/09(水) 12:43:08.94ID:jODQKuwy
だから検索したら得られないって何度も言ってる
得られないのは確定、お前に結果ぐらい貼れよと言ってるだけ
無いから貼れないんだろうがな
2020/12/09(水) 12:45:51.62ID:ZEWfqGU4
> だから検索したら得られないって何度も言ってる

それが事実かどうか判断するために
検索結果をここに貼れと言ってる

無関係の記事や、見つからなかったという結果でいいんだよ。
単に検索結果だけ貼ればいい。それぐらいできるでしょ?
2020/12/09(水) 13:11:36.81ID:jODQKuwy
> だから検索したら得られるって何度も言ってる

それが事実かどうか判断するために
検索結果をここに貼れと言ってる

見つかった記事や、見つかったという結果でいいんだよ。
単に検索結果だけ貼ればいい。それぐらいできるでしょ?
2020/12/09(水) 13:16:48.95ID:ZEWfqGU4
オウム返ししかできなくなったか
2020/12/09(水) 13:17:35.38ID:jODQKuwy
はよ貼れや
あるならなプゲラ
2020/12/09(水) 13:18:05.27ID:ZEWfqGU4
むしろなんでシェルショッカーの記事を見つけだせたのかわからん
こっちの方が検索しても見つからないぞ

(あ、シェルショッカー本人かw)
2020/12/09(水) 13:19:51.75ID:rIU0lDlE
検索したらPOSIXはオワコンって書いてあった。
検索すればすぐ出てくる。
出てこないというならその結果を貼れ。
2020/12/09(水) 13:20:27.65ID:ZEWfqGU4
>>295
検索して見つからなかったというのなら
その見つからなかった結果を貼れと言ってます

あるなら貼るだと、なければ貼れないけど、
あってもなくても貼れなら
検索結果が貼れないなんてことはないのです
2020/12/09(水) 13:21:20.38ID:ZEWfqGU4
>>297
なんてキーワードで検索したんですか?

ちなみに見つかる検索キーワードは
上の方で「」つきでしっかり書かれています。
2020/12/09(水) 13:22:45.72ID:jODQKuwy
しょうゆは発ガン物質。
検索すればすぐ出てくる。
検索して見つからなかったというのなら
その見つからなかった結果を貼れ
2020/12/09(水) 13:24:09.58ID:ZEWfqGU4
ちなみにこちらは「見つかっても見つからなくてもいいから」
「検索結果」を貼れと言ってます。

検索したという事実を見たいだけです。

無関係な例えは潰しておきますw
2020/12/09(水) 13:27:11.24ID:rIU0lDlE
見つかった結果を貼れ
見つからないから貼れないで詭弁でごねてるだけ
2020/12/09(水) 13:28:41.82ID:ZEWfqGU4
>>302

代わりにお前でもいいよw
見つからなくていい。ググって出てきたものを貼るだけ

再掲
> 「POSIX準拠のシェルスクリプトでのUNIXタイムの変換」でGoogleで検索して
> 上位5つの検索結果=「現物」を持ってきてください
> 人によって順位は違うらしいからね
>
> なぜ現物を持ってこれないのか?
> 検索で簡単に見つかるという現実を受け入れられないからなのかな?
2020/12/09(水) 13:31:32.04ID:jODQKuwy
見つかったなら貼ればいいだけ
見つからない、貼れない、
だからすり替えでごまかしてるだけw
誰にも効いてないがw
2020/12/09(水) 13:38:52.41ID:ZEWfqGU4
検索キーワードがあれば十分でしょ?w
そこで見つかると言ってる
2020/12/09(水) 13:43:40.09ID:jODQKuwy
見つかった証拠出せ。
貼るだけ。
これができないのはなぜでしょう?
答え:嘘んこだからw
2020/12/09(水) 14:27:06.23ID:ZEWfqGU4
嘘か本当か自分で調べればわかること
本当に調べたのであれば検索結果を貼ることが出来るはず

見つかった証拠を貼れと言ってるのではない
検索した結果を貼れと言ってるだけで内容についてはどうでもいい

これができないのはなぜでしょう?
答え:検索すらできない人だからw
2020/12/09(水) 15:51:00.03ID:An1T/9HU
【置換前文字列1】を【置換後文字列1】に、【置換前文字列2】を【置換後文字列2】に、、、
ってときに
sedを一行で書くのではなく、何行かに分けてかくのが普通ですか?
(単に複業数を一行に見せるやり方という意味ではなく、置換前後の対応的な書き方があるのかなと)
2020/12/09(水) 16:14:27.63ID:vZ4bQifg
findコマンドについて、
対象となるファイルが一つも見付からなかった場合でも(grepとかと違って)
終了ステータスは0のままであることって保証されてるっけ?
ここ↓の終了ステータスの節をみても微妙に分からない。
https://pubs.opengroup.org/onlinepubs/9699919799/utilities/find.html
2020/12/09(水) 16:28:08.45ID:vZ4bQifg
>>308
sed -e '<置換命令>;<置換命令>;<置換命令>'
ってやるのと
sed -e '<置換命令>' -e '<置換命令>' -e '<置換命令>'
ってやるのとの違いってこと?


$ <<. sed -e 's/a/b/g' -e 's/b/c/g'
a-b-c
.
→c-c-c
$ <<. sed -e 's/a/b/g;s/b/c/g'
a-b-c
.
→c-c-c

↑こういう「普通の」操作なら別にどっちでも結果が変わらないから
自分が好きな方で書けばいいんじゃないかな。
2020/12/09(水) 16:31:23.67ID:ZEWfqGU4
>>308
見やすいように書けばいいよ
長ければ複数行じゃないと見づらいだろ?

sedって引数で正規表現置換命令を単体で書くような感じだけど
実際は複数の命令を書くところなんだよね

こういう引数で置換!じゃなくて
行を読み取ってその行に対して、あれをやってこれをやってそれをやって・・・と複数の命令を書く
それがわかってない人が意外と多い気がする
2020/12/09(水) 17:17:45.74ID:h/snEzA+
っていうか前スレがまだ埋まってないやん
検索結果がなんだのくだらない話で埋めてくれてもええんやで
2020/12/09(水) 21:46:27.20ID:vZ4bQifg
最近findの-exec被演算子による実行を
for _var_ in *; do ...; done
を置き換える形で好んで使っている。
まあfor文の何が悪いって訳じゃないけど
強いて挙げるならfindを使う方法は余計な変数を用意しなくていい。
for文にしかできないことっていうのもそうそうないし。
2020/12/09(水) 22:15:47.43ID:sjKwJCQI
何故xargsじゃなくて-exec...
2020/12/09(水) 22:17:29.01ID:0QlTtfMo
適材適所

forはファイル数が多数になった場合には引数が多すぎでエラーになる可能性があるから
ファイルを繰り返し処理するのはおすすめできない
ただし-execはシェル関数が呼べなかったりシェルスクリプトの処理との連携が
できないというデメリットが有る

外部コマンドを呼び出すだけなら-execでいいが
そうとは限らない場合はfind + while + read ループの方がいいだろう

ファイルの数が少ない場合は外部コマンドを呼び出さない分
for(というか * )の方が速い

それで検索してみたか?
2020/12/09(水) 22:27:18.92ID:0QlTtfMo
forは余計な変数がいるけど
whileを使えば余計な変数は不要

どうするかって?

set -- *
while [ $# -gt 0 ]; do ...; shift; done

余計な変数がいるからforを使わないというのは正しいが
余計な変数がいるからfindを使うは正しくない
2020/12/09(水) 22:41:19.62ID:vZ4bQifg
>>315
> ファイル数が多数になった場合
これ\+じゃなくて\;を使えば別にファイル数が多数になっても
適宜処理できるんじゃない?

https://pubs.opengroup.org/onlinepubs/9699919799/utilities/find.html
↑これの-execの
If the primary expression is punctuated by a <semicolon>...らへん。
2020/12/09(水) 22:41:47.84ID:vZ4bQifg
>>317
すまん,for文の話だった。
2020/12/10(木) 13:32:02.46ID:PUDbf/ME
>>309
これについて
手元のGNU findで試してみたけど 該当するfile/dirが1件も見付からない場合でも
エラーにならないというかexit statusは0だった。
もっとも これが正しい挙動なのかは不明。
2020/12/10(木) 14:01:03.28ID:A3fjGgOY
POSIXに仕様が書いてあるのに
あの程度も読めないやつがいるんだな
2020/12/10(木) 15:44:18.07ID:PUDbf/ME
>>320
そうなんです,あの程度も読めない奴なんです。
教えていただけますか?
2020/12/10(木) 18:05:30.50ID:A3fjGgOY
これ以外に何の解釈が有るんだ?

EXIT STATUS
The following exit values shall be returned:

0 All path operands were traversed successfully.
>0 An error occurred.

終了ステータス 次の終了値が返されます。

0 すべてのパスオペランドが正常にトラバースされました。
> 0 エラーが発生しました。
323デフォルトの名無しさん
垢版 |
2020/12/11(金) 00:40:48.48ID:wU/o6Go9
>>322
対象となるファイルが一つも見付からなかった場合、
終了ステータスは0?
2020/12/11(金) 01:30:47.40ID:s+ujdTab
>>323
悪い仕様の書き方の見本みたいなところあるけど
ファイルが見つかったかどうかはEXIT STATUSには無関係

ファイルが見つかっても見つからなくても
なんらかのエラーで走査できないパスが1つでもあればEXIT STATUSは1以上
全てのパスが走査きればファイルが見つかっても見つからなくてもEXIT STATUSは0
2020/12/11(金) 02:02:17.08ID:76SqqmH2
一般的にはプログラムが正常終了すれば0
異常終了すれば1
ファイルが一つも見つからなくても
プログラムが正常に終了したので0になる
2020/12/11(金) 02:22:36.63ID:ExAO4AKO
>>323
0 すべてのパスオペランドが正常にトラバースされました。
と書いてある
327デフォルトの名無しさん
垢版 |
2020/12/11(金) 10:03:55.72ID:ExAO4AKO
あげ
2020/12/11(金) 10:56:58.75ID:wU/o6Go9
>>324
ありがとう!
2020/12/11(金) 10:57:23.23ID:wU/o6Go9
さげ
2020/12/11(金) 10:57:25.22ID:vQm1aiEb
スレはまだ33も34も使えてたな。w
2020/12/11(金) 11:16:29.73ID:wU/o6Go9
>>316
setすげー
2020/12/11(金) 12:51:27.35ID:vQm1aiEb
sedについて質問。
入力に¥x80以上の文字が含まれていた場合、正規表現「.」はマッチしないんだっけ?
試しに「[¥x00-¥xff]」とするとエラーになるし。。。
任意のバイナリは扱えない?
2020/12/11(金) 13:23:03.65ID:hnvNpoRh
前スレ埋めマンおつかれさん
2020/12/11(金) 14:13:42.30ID:wU/o6Go9
>>332
そもそもsedって正規表現のところで\の後に数字を置いて
なにか文字を表わす,みたいなことできなかったと思う。
唯一,s/<ここ>//の←<ここ>の部分で\nが使えるだけ。

https://pubs.opengroup.org/onlinepubs/9699919799/utilities/sed.html
2020/12/11(金) 14:42:33.40ID:vQm1aiEb
>>334
ほかにも'\\', '\a', '\b', '\f', '\r', '\t', '\v'は使えるようだが、それだけか。
うぬぬ。。。

では、次のようなバイナリがあったとき、数値部分を抽出するにはどうすればいいかな?

<任意のバイナリ><数値テキスト>
2020/12/11(金) 16:02:17.03ID:FiGFWWeM
grep -aとか?
2020/12/11(金) 16:18:40.22ID:s+ujdTab
GNU grepで-obUaPで使ってる
https://stackoverflow.com/a/17168847
2020/12/11(金) 16:52:32.46ID:vQm1aiEb
>>336,337
ありがとう。
一瞬だけgrepでなんとかならんかな?と思ったけど、いやムリやろと自己完結してた。。。

ちなみに試した感じ、grep -o(--only-matching)で充分そうだけど、-a(--text)は何のため?
339デフォルトの名無しさん
垢版 |
2020/12/11(金) 17:36:15.90ID:IIqX/1kZ
>>332
\x00以外ならできる

$ cat a.txt
漢字
$ hexdump -C a.txt
00000000 e6 bc a2 e5 ad 97 0a |.......|

$ A=$(printf '\xe6')
$ printf "$A" | hexdump -C
00000000 e6 |.|

$ sed "s/$A/ /" a.txt | hexdump -C
00000000 20 bc a2 e5 ad 97 0a | ......|
340デフォルトの名無しさん
垢版 |
2020/12/11(金) 17:40:10.43ID:IIqX/1kZ
$ LANG=C sed "s/./ /" a.txt | hexdump -C
00000000 20 bc a2 e5 ad 97 0a | ......|
2020/12/11(金) 18:05:15.53ID:FiGFWWeM
>>338
なんでドキュメントみないのかな

grep はファイルがバイナリだとわかると、 その先の出力を抑制します。
2020/12/11(金) 18:27:02.69ID:vQm1aiEb
>>339
あー、なるほど。
エスケープとかじゃなくて、直にその文字コードの文字を入力したらいいのか。

ってムリ。w
入力ができるできないで言えばできるけど、後から文字が読めなくなるし。

とにかく、sedだってバイナリを扱えないことはない、ということはわかりました。
ありがとう。
2020/12/11(金) 18:29:19.33ID:vQm1aiEb
>>341
いや、実際にバイナリに見えるであろうデータを流して問題がなかったから。
-aなしだとgrepの判定次第になるから、保険でつけといたほうがいいか。
344デフォルトの名無しさん
垢版 |
2020/12/11(金) 18:36:44.59ID:IIqX/1kZ
>>342
> 入力ができるできないで言えばできるけど、後から文字が読めなくなるし。

$ A=$(printf '\xe6')
読めるだろ?

後からって読むならスクリプトファイルにしてるはずだし
なにか問題が?
2020/12/11(金) 19:02:21.38ID:vQm1aiEb
>>344
えー。
sed --expression "/[$(printf '\x80')-$(printf '\xff')]/"
とかかなりやばくね?w

今回はgrepでいいです。。。
346デフォルトの名無しさん
垢版 |
2020/12/11(金) 19:13:58.45ID:IIqX/1kZ
x80=$(printf '\x80')
xFF=$(printf '\xff')
sed --expression "/[$x80-$xFF]/"
でいいだろ

なんでこう頭が固いのか
2020/12/11(金) 20:19:54.18ID:i7+Pb2PU
シェルスクリプトが大好きなんだ
2020/12/11(金) 21:29:20.20ID:vQm1aiEb
>>346
それくらいならもとのコードのがマシ。
そういう変数にして事故ることもあるので。
349デフォルトの名無しさん
垢版 |
2020/12/11(金) 21:42:27.33ID:IIqX/1kZ
>>348
元のコードがやばいって言ったのはお前なんだが
じゃあ何がやばいんだ?
なんで変数にしただけで事故るんだ?
いきあたりばったりで理由づけするのやめろよ
2020/12/11(金) 21:57:40.12ID:uTa/dhkC
ポジ夫はそろそろコテ付けろ
2020/12/11(金) 22:41:13.04ID:vQm1aiEb
>>349
オレのもとのコードはたんに読みにくくてヤバいが、そっちのコードは、一度しか使わない変数で、さらにその名前と値がダブってるところがもっとヤバい。

いきあたりばったりなどではない、確固たるオレの感覚。
わからんのなら、見解の相違ということで。
おしまい。
352デフォルトの名無しさん
垢版 |
2020/12/11(金) 23:43:56.95ID:IIqX/1kZ
ダブルのがいやならこうすれば?少しは頭を使おう

for i in 80 ff; do eval "x$i=$(printf "\x$i")"; done
2020/12/11(金) 23:46:03.88ID:wU/o6Go9
sed --expression "/[$(printf '\x80')-$(printf '\xff')]/"

これが「ヤバい」理由を教えてくれたら改善≠ナきるかも知れない。
(正直私にはとくに「ヤバい」コードには見えないのだが……)
2020/12/11(金) 23:48:19.15ID:wU/o6Go9
ていうか読み直したら「感覚」で批判してるのな……
じゃあもういいや。
なんか理論的な欠点があるのかと思って,
私にはそうは見えなかったから勉強の為に訊こうとしたけど
そういう感じではなかったみたい。
355デフォルトの名無しさん
垢版 |
2020/12/11(金) 23:52:49.09ID:IIqX/1kZ
他にもこうするとかな。マジ頭が固すぎ

LANG=C sed --expression "s/$(printf '[\x80-\xff]')//"
LANG=C sed --expression "$(printf 's/[\x80-\xff]//')"
356デフォルトの名無しさん
垢版 |
2020/12/11(金) 23:57:16.95ID:IIqX/1kZ
「確固たるオレの感覚」が技術力不足によるものだから
自分が未熟であることに気が付かないとどうしようもないだろうな
staticおじさんと一緒
357デフォルトの名無しさん
垢版 |
2020/12/12(土) 00:10:55.93ID:iu3yHDzN
(まだ)POSIX準拠じゃないけど、誰かに言われるのも嫌なので一応w

LANG=C sed --expression $'s/[\x80-\xff])//'
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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