シェルスクリプトに関する総合スレッドです。
全般
・荒しは無視しましょう。
・丁寧な姿勢を心掛けましょう。
・ネチケット(死語)を意識しましょう。
・「○○(他の言語)でいいやん」は禁止。他のスレに行ってください。
前スレ: シェルスクリプト総合 その34
https://mevius.5ch.net/test/read.cgi/tech/1597990675/
探検
シェルスクリプト総合 その35
■ このスレッドは過去ログ倉庫に格納されています
2020/11/24(火) 21:37:20.06ID:mbTiTj6s
258デフォルトの名無しさん
2020/12/08(火) 23:12:57.26ID:TAcWm+rA259デフォルトの名無しさん
2020/12/09(水) 00:29:09.55ID:vZ4bQifg あれ,全然出てこないな。
くっだらねえ反論はあれだけ反射的なのにw
くっだらねえ反論はあれだけ反射的なのにw
260デフォルトの名無しさん
2020/12/09(水) 00:32:59.35ID:jODQKuwy 口先POSIXおじさんw
261デフォルトの名無しさん
2020/12/09(水) 00:45:24.40ID:XzWvmoKM 単純な時間計算の質問をネタにマウンティング合戦を1週間も続けられるってすごいよね
シェルスクリプトにこだわる人はさすが生産的!!
シェルスクリプトにこだわる人はさすが生産的!!
262デフォルトの名無しさん
2020/12/09(水) 00:58:47.06ID:eCHhpLek263デフォルトの名無しさん
2020/12/09(水) 01:21:27.68ID:S42PKcAA 志村けんは生きてるよ?
ググったら詳細出てくる
ググったら詳細出てくる
264デフォルトの名無しさん
2020/12/09(水) 01:25:58.77ID:eCHhpLek そうにかして言い返そうと頑張ったんだろうなとは思う(笑)
265デフォルトの名無しさん
2020/12/09(水) 01:26:14.19ID:eCHhpLek どうにかして
266デフォルトの名無しさん
2020/12/09(水) 01:48:07.85ID:vZ4bQifg なぜ、現物を持って来れないのか。
理由は自ずと分かるよね?
理由は自ずと分かるよね?
267デフォルトの名無しさん
2020/12/09(水) 01:49:45.29ID:vZ4bQifg268デフォルトの名無しさん
2020/12/09(水) 01:50:34.09ID:eCHhpLek >>249
> なるほど,ではAWKやsedを使わずに,
> 「POSIX準拠のシェルスクリプトでのUNIXタイムの変換」
> を示してください。
「POSIX準拠のシェルスクリプトでのUNIXタイムの変換」でGoogleで検索して
上位5つの検索結果=「現物」を持ってきてください
人によって順位は違うらしいからね
なぜ現物を持ってこれないのか?
検索で簡単に見つかるという現実を受け入れられないからなのかな?
> なるほど,ではAWKやsedを使わずに,
> 「POSIX準拠のシェルスクリプトでのUNIXタイムの変換」
> を示してください。
「POSIX準拠のシェルスクリプトでのUNIXタイムの変換」でGoogleで検索して
上位5つの検索結果=「現物」を持ってきてください
人によって順位は違うらしいからね
なぜ現物を持ってこれないのか?
検索で簡単に見つかるという現実を受け入れられないからなのかな?
269デフォルトの名無しさん
2020/12/09(水) 01:51:21.47ID:eCHhpLek 検索結果を貼り付けるだけでいいんだけどな
なんでそんな簡単なことができないんだろう?
なんでそんな簡単なことができないんだろう?
270デフォルトの名無しさん
2020/12/09(水) 02:03:19.79ID:S8QsR+fb 天才的w計算式で確証持てないとかかなあ
もしくは本当にググればすぐ出てるだろうかw
もしくは本当にググればすぐ出てるだろうかw
271デフォルトの名無しさん
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
ここで指摘されてる
何がいいたいかって言うと、この手のやつは計算式でもアルゴリズムでも
ぱっと見で確証持てないなんて当たり前だよってこと
うるう年の計算でさえ人類は何度もバグを入れてきた
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
ここで指摘されてる
何がいいたいかって言うと、この手のやつは計算式でもアルゴリズムでも
ぱっと見で確証持てないなんて当たり前だよってこと
うるう年の計算でさえ人類は何度もバグを入れてきた
272デフォルトの名無しさん
2020/12/09(水) 02:37:26.28ID:eCHhpLek ん?今気づいたが>>156のやつって、Rich’s sh (POSIX shell) tricksに
書いてあるバグありバージョンじゃんw
echoに書き換えてるから気づかなかったが計算式が一緒
awkスクリプトのやつも正しいかどうかわからんよねと
言おうとして、見返して気づいた
書いてあるバグありバージョンじゃんw
echoに書き換えてるから気づかなかったが計算式が一緒
awkスクリプトのやつも正しいかどうかわからんよねと
言おうとして、見返して気づいた
273デフォルトの名無しさん
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に書き間違えてるんだな
検証大事
・>>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に書き間違えてるんだな
検証大事
274デフォルトの名無しさん
2020/12/09(水) 02:48:54.69ID:znx7LG09 あれほど自分で言い張ってたくせに
275デフォルトの名無しさん
2020/12/09(水) 02:51:35.80ID:eCHhpLek >>274
誰にレスしてるのか知らないが、多分レスする相手を間違ってる
誰にレスしてるのか知らないが、多分レスする相手を間違ってる
276デフォルトの名無しさん
2020/12/09(水) 02:52:11.84ID:AAEJArmB >>267
本当に口先口数だけだったなw
本当に口先口数だけだったなw
277デフォルトの名無しさん
2020/12/09(水) 02:55:23.53ID:eCHhpLek ということで、検索ぐらいしましょうねw
じゃあ寝る
じゃあ寝る
278デフォルトの名無しさん
2020/12/09(水) 02:56:41.58ID:jODQKuwy このようにPOSIXに拘泥するとバグります。
と言うよりPOSIXバカは一般人よりバグを出す率が高い。
証拠はググったら出てくるw
と言うよりPOSIXバカは一般人よりバグを出す率が高い。
証拠はググったら出てくるw
279デフォルトの名無しさん
2020/12/09(水) 02:57:35.34ID:eCHhpLek POSIX関係ない。単に>>156がバカなだけ
検証もせずバグありコードと冗長なawkスクリプト持ってきてるw
検証もせずバグありコードと冗長なawkスクリプト持ってきてるw
280デフォルトの名無しさん
2020/12/09(水) 03:01:08.59ID:AAEJArmB またいつものごまかしw
281デフォルトの名無しさん
2020/12/09(水) 03:03:51.77ID:eCHhpLek バグコードでした・・・事実
冗長なawkコードでした・・・事実
冗長なawkコードでした・・・事実
282デフォルトの名無しさん
2020/12/09(水) 09:31:11.63ID:vZ4bQifg 自分がコードを出せないからといって他人を僻むのはやめましょうw
結局、POSIXの範囲でUnixタイム→通常時間への変換はAWK使う方法くらいしかない。
ほんまポジバカは口先だけで何も生産しようとしないな。
別に擁護する訳じゃないが、ちゃんとコードを出すだけ >>156 とかのほうがまだマシ
バグがあったとしても指摘して修正できる。
一方、コードを出さなければいつまでたっても自分の間違いをつっつかれることはない。
結局、POSIXの範囲でUnixタイム→通常時間への変換はAWK使う方法くらいしかない。
ほんまポジバカは口先だけで何も生産しようとしないな。
別に擁護する訳じゃないが、ちゃんとコードを出すだけ >>156 とかのほうがまだマシ
バグがあったとしても指摘して修正できる。
一方、コードを出さなければいつまでたっても自分の間違いをつっつかれることはない。
283デフォルトの名無しさん
2020/12/09(水) 10:06:49.17ID:ZEWfqGU4 >>282
なんてキーワードで検索した?
なんで検索結果の上位5位という「現物」を
ここに貼り付けられないの?
再掲
> 「POSIX準拠のシェルスクリプトでのUNIXタイムの変換」でGoogleで検索して
> 上位5つの検索結果=「現物」を持ってきてください
> 人によって順位は違うらしいからね
>
> なぜ現物を持ってこれないのか?
> 検索で簡単に見つかるという現実を受け入れられないからなのかな?
なんてキーワードで検索した?
なんで検索結果の上位5位という「現物」を
ここに貼り付けられないの?
再掲
> 「POSIX準拠のシェルスクリプトでのUNIXタイムの変換」でGoogleで検索して
> 上位5つの検索結果=「現物」を持ってきてください
> 人によって順位は違うらしいからね
>
> なぜ現物を持ってこれないのか?
> 検索で簡単に見つかるという現実を受け入れられないからなのかな?
284デフォルトの名無しさん
2020/12/09(水) 10:52:32.53ID:PAUMj9+d 簡単に見つかるなら貼ればいいじゃん
貼れないのは無いから
貼れないのは無いから
285デフォルトの名無しさん
2020/12/09(水) 10:56:12.39ID:h/snEzA+ まだやっててわろた
286デフォルトの名無しさん
2020/12/09(水) 11:32:48.42ID:LWKBPFtb ポバカ vs アンチポ
というよりは、検索の押し付けあい?w
というよりは、検索の押し付けあい?w
287デフォルトの名無しさん
2020/12/09(水) 11:59:10.93ID:ZEWfqGU4 検索結果の上位5位がないってどういう状態?
見つけたものじゃなくて、検索結果だよ。
Google検索が壊れてるの?
見つけたものじゃなくて、検索結果だよ。
Google検索が壊れてるの?
288デフォルトの名無しさん
2020/12/09(水) 12:19:16.95ID:vZ4bQifg どんだけ検索結果にこだわってんだよwww
そんなのどうでもいいから
お前が見つけたサイトやら記事やらを晒せって言ってんだよ。
頭おかしいなりに付き合ってたら
ポジキチからなにかPOSIX準拠でAWKに依存しないコードが得られるかも
と思ってここまでレスを返してあげてきたがもういいわ。
>>156 のutconvで十分。
AWKスクリプトがどうとかは関係ない。
あとPOSIXにこだわるのをやめるのも一つの手だぞ。
date -dとか%sとかなんてほぼどんなシステムでも使えるんだから。
そんなのどうでもいいから
お前が見つけたサイトやら記事やらを晒せって言ってんだよ。
頭おかしいなりに付き合ってたら
ポジキチからなにかPOSIX準拠でAWKに依存しないコードが得られるかも
と思ってここまでレスを返してあげてきたがもういいわ。
>>156 のutconvで十分。
AWKスクリプトがどうとかは関係ない。
あとPOSIXにこだわるのをやめるのも一つの手だぞ。
date -dとか%sとかなんてほぼどんなシステムでも使えるんだから。
289デフォルトの名無しさん
2020/12/09(水) 12:32:45.70ID:ZEWfqGU4 > ポジキチからなにかPOSIX準拠でAWKに依存しないコードが得られるかも
だから検索したら得られるって何度も言ってる
検索キーワードも(誰かがw)書いた
得られるのは確定、お前に検索ぐらいしろよと言ってるだけ
だから検索したら得られるって何度も言ってる
検索キーワードも(誰かがw)書いた
得られるのは確定、お前に検索ぐらいしろよと言ってるだけ
290デフォルトの名無しさん
2020/12/09(水) 12:35:10.53ID:ZEWfqGU4 > date -dとか%sとかなんてほぼどんなシステムでも使えるんだから。
有名である程度のシェアを持ってるmacOSで使えない
有名である程度のシェアを持ってるmacOSで使えない
291デフォルトの名無しさん
2020/12/09(水) 12:43:08.94ID:jODQKuwy だから検索したら得られないって何度も言ってる
得られないのは確定、お前に結果ぐらい貼れよと言ってるだけ
無いから貼れないんだろうがな
得られないのは確定、お前に結果ぐらい貼れよと言ってるだけ
無いから貼れないんだろうがな
292デフォルトの名無しさん
2020/12/09(水) 12:45:51.62ID:ZEWfqGU4 > だから検索したら得られないって何度も言ってる
それが事実かどうか判断するために
検索結果をここに貼れと言ってる
無関係の記事や、見つからなかったという結果でいいんだよ。
単に検索結果だけ貼ればいい。それぐらいできるでしょ?
それが事実かどうか判断するために
検索結果をここに貼れと言ってる
無関係の記事や、見つからなかったという結果でいいんだよ。
単に検索結果だけ貼ればいい。それぐらいできるでしょ?
293デフォルトの名無しさん
2020/12/09(水) 13:11:36.81ID:jODQKuwy > だから検索したら得られるって何度も言ってる
それが事実かどうか判断するために
検索結果をここに貼れと言ってる
見つかった記事や、見つかったという結果でいいんだよ。
単に検索結果だけ貼ればいい。それぐらいできるでしょ?
それが事実かどうか判断するために
検索結果をここに貼れと言ってる
見つかった記事や、見つかったという結果でいいんだよ。
単に検索結果だけ貼ればいい。それぐらいできるでしょ?
294デフォルトの名無しさん
2020/12/09(水) 13:16:48.95ID:ZEWfqGU4 オウム返ししかできなくなったか
295デフォルトの名無しさん
2020/12/09(水) 13:17:35.38ID:jODQKuwy はよ貼れや
あるならなプゲラ
あるならなプゲラ
296デフォルトの名無しさん
2020/12/09(水) 13:18:05.27ID:ZEWfqGU4 むしろなんでシェルショッカーの記事を見つけだせたのかわからん
こっちの方が検索しても見つからないぞ
(あ、シェルショッカー本人かw)
こっちの方が検索しても見つからないぞ
(あ、シェルショッカー本人かw)
297デフォルトの名無しさん
2020/12/09(水) 13:19:51.75ID:rIU0lDlE 検索したらPOSIXはオワコンって書いてあった。
検索すればすぐ出てくる。
出てこないというならその結果を貼れ。
検索すればすぐ出てくる。
出てこないというならその結果を貼れ。
298デフォルトの名無しさん
2020/12/09(水) 13:20:27.65ID:ZEWfqGU4 >>295
検索して見つからなかったというのなら
その見つからなかった結果を貼れと言ってます
あるなら貼るだと、なければ貼れないけど、
あってもなくても貼れなら
検索結果が貼れないなんてことはないのです
検索して見つからなかったというのなら
その見つからなかった結果を貼れと言ってます
あるなら貼るだと、なければ貼れないけど、
あってもなくても貼れなら
検索結果が貼れないなんてことはないのです
299デフォルトの名無しさん
2020/12/09(水) 13:21:20.38ID:ZEWfqGU4300デフォルトの名無しさん
2020/12/09(水) 13:22:45.72ID:jODQKuwy しょうゆは発ガン物質。
検索すればすぐ出てくる。
検索して見つからなかったというのなら
その見つからなかった結果を貼れ
検索すればすぐ出てくる。
検索して見つからなかったというのなら
その見つからなかった結果を貼れ
301デフォルトの名無しさん
2020/12/09(水) 13:24:09.58ID:ZEWfqGU4 ちなみにこちらは「見つかっても見つからなくてもいいから」
「検索結果」を貼れと言ってます。
検索したという事実を見たいだけです。
無関係な例えは潰しておきますw
「検索結果」を貼れと言ってます。
検索したという事実を見たいだけです。
無関係な例えは潰しておきますw
302デフォルトの名無しさん
2020/12/09(水) 13:27:11.24ID:rIU0lDlE 見つかった結果を貼れ
見つからないから貼れないで詭弁でごねてるだけ
見つからないから貼れないで詭弁でごねてるだけ
303デフォルトの名無しさん
2020/12/09(水) 13:28:41.82ID:ZEWfqGU4 >>302
代わりにお前でもいいよw
見つからなくていい。ググって出てきたものを貼るだけ
再掲
> 「POSIX準拠のシェルスクリプトでのUNIXタイムの変換」でGoogleで検索して
> 上位5つの検索結果=「現物」を持ってきてください
> 人によって順位は違うらしいからね
>
> なぜ現物を持ってこれないのか?
> 検索で簡単に見つかるという現実を受け入れられないからなのかな?
代わりにお前でもいいよw
見つからなくていい。ググって出てきたものを貼るだけ
再掲
> 「POSIX準拠のシェルスクリプトでのUNIXタイムの変換」でGoogleで検索して
> 上位5つの検索結果=「現物」を持ってきてください
> 人によって順位は違うらしいからね
>
> なぜ現物を持ってこれないのか?
> 検索で簡単に見つかるという現実を受け入れられないからなのかな?
304デフォルトの名無しさん
2020/12/09(水) 13:31:32.04ID:jODQKuwy 見つかったなら貼ればいいだけ
見つからない、貼れない、
だからすり替えでごまかしてるだけw
誰にも効いてないがw
見つからない、貼れない、
だからすり替えでごまかしてるだけw
誰にも効いてないがw
305デフォルトの名無しさん
2020/12/09(水) 13:38:52.41ID:ZEWfqGU4 検索キーワードがあれば十分でしょ?w
そこで見つかると言ってる
そこで見つかると言ってる
306デフォルトの名無しさん
2020/12/09(水) 13:43:40.09ID:jODQKuwy 見つかった証拠出せ。
貼るだけ。
これができないのはなぜでしょう?
答え:嘘んこだからw
貼るだけ。
これができないのはなぜでしょう?
答え:嘘んこだからw
307デフォルトの名無しさん
2020/12/09(水) 14:27:06.23ID:ZEWfqGU4 嘘か本当か自分で調べればわかること
本当に調べたのであれば検索結果を貼ることが出来るはず
見つかった証拠を貼れと言ってるのではない
検索した結果を貼れと言ってるだけで内容についてはどうでもいい
これができないのはなぜでしょう?
答え:検索すらできない人だからw
本当に調べたのであれば検索結果を貼ることが出来るはず
見つかった証拠を貼れと言ってるのではない
検索した結果を貼れと言ってるだけで内容についてはどうでもいい
これができないのはなぜでしょう?
答え:検索すらできない人だからw
308デフォルトの名無しさん
2020/12/09(水) 15:51:00.03ID:An1T/9HU 【置換前文字列1】を【置換後文字列1】に、【置換前文字列2】を【置換後文字列2】に、、、
ってときに
sedを一行で書くのではなく、何行かに分けてかくのが普通ですか?
(単に複業数を一行に見せるやり方という意味ではなく、置換前後の対応的な書き方があるのかなと)
ってときに
sedを一行で書くのではなく、何行かに分けてかくのが普通ですか?
(単に複業数を一行に見せるやり方という意味ではなく、置換前後の対応的な書き方があるのかなと)
309デフォルトの名無しさん
2020/12/09(水) 16:14:27.63ID:vZ4bQifg findコマンドについて、
対象となるファイルが一つも見付からなかった場合でも(grepとかと違って)
終了ステータスは0のままであることって保証されてるっけ?
ここ↓の終了ステータスの節をみても微妙に分からない。
https://pubs.opengroup.org/onlinepubs/9699919799/utilities/find.html
対象となるファイルが一つも見付からなかった場合でも(grepとかと違って)
終了ステータスは0のままであることって保証されてるっけ?
ここ↓の終了ステータスの節をみても微妙に分からない。
https://pubs.opengroup.org/onlinepubs/9699919799/utilities/find.html
310デフォルトの名無しさん
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
↑こういう「普通の」操作なら別にどっちでも結果が変わらないから
自分が好きな方で書けばいいんじゃないかな。
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
↑こういう「普通の」操作なら別にどっちでも結果が変わらないから
自分が好きな方で書けばいいんじゃないかな。
311デフォルトの名無しさん
2020/12/09(水) 16:31:23.67ID:ZEWfqGU4 >>308
見やすいように書けばいいよ
長ければ複数行じゃないと見づらいだろ?
sedって引数で正規表現置換命令を単体で書くような感じだけど
実際は複数の命令を書くところなんだよね
こういう引数で置換!じゃなくて
行を読み取ってその行に対して、あれをやってこれをやってそれをやって・・・と複数の命令を書く
それがわかってない人が意外と多い気がする
見やすいように書けばいいよ
長ければ複数行じゃないと見づらいだろ?
sedって引数で正規表現置換命令を単体で書くような感じだけど
実際は複数の命令を書くところなんだよね
こういう引数で置換!じゃなくて
行を読み取ってその行に対して、あれをやってこれをやってそれをやって・・・と複数の命令を書く
それがわかってない人が意外と多い気がする
312デフォルトの名無しさん
2020/12/09(水) 17:17:45.74ID:h/snEzA+ っていうか前スレがまだ埋まってないやん
検索結果がなんだのくだらない話で埋めてくれてもええんやで
検索結果がなんだのくだらない話で埋めてくれてもええんやで
313デフォルトの名無しさん
2020/12/09(水) 21:46:27.20ID:vZ4bQifg 最近findの-exec被演算子による実行を
for _var_ in *; do ...; done
を置き換える形で好んで使っている。
まあfor文の何が悪いって訳じゃないけど
強いて挙げるならfindを使う方法は余計な変数を用意しなくていい。
for文にしかできないことっていうのもそうそうないし。
for _var_ in *; do ...; done
を置き換える形で好んで使っている。
まあfor文の何が悪いって訳じゃないけど
強いて挙げるならfindを使う方法は余計な変数を用意しなくていい。
for文にしかできないことっていうのもそうそうないし。
314デフォルトの名無しさん
2020/12/09(水) 22:15:47.43ID:sjKwJCQI 何故xargsじゃなくて-exec...
315デフォルトの名無しさん
2020/12/09(水) 22:17:29.01ID:0QlTtfMo 適材適所
forはファイル数が多数になった場合には引数が多すぎでエラーになる可能性があるから
ファイルを繰り返し処理するのはおすすめできない
ただし-execはシェル関数が呼べなかったりシェルスクリプトの処理との連携が
できないというデメリットが有る
外部コマンドを呼び出すだけなら-execでいいが
そうとは限らない場合はfind + while + read ループの方がいいだろう
ファイルの数が少ない場合は外部コマンドを呼び出さない分
for(というか * )の方が速い
それで検索してみたか?
forはファイル数が多数になった場合には引数が多すぎでエラーになる可能性があるから
ファイルを繰り返し処理するのはおすすめできない
ただし-execはシェル関数が呼べなかったりシェルスクリプトの処理との連携が
できないというデメリットが有る
外部コマンドを呼び出すだけなら-execでいいが
そうとは限らない場合はfind + while + read ループの方がいいだろう
ファイルの数が少ない場合は外部コマンドを呼び出さない分
for(というか * )の方が速い
それで検索してみたか?
316デフォルトの名無しさん
2020/12/09(水) 22:27:18.92ID:0QlTtfMo forは余計な変数がいるけど
whileを使えば余計な変数は不要
どうするかって?
set -- *
while [ $# -gt 0 ]; do ...; shift; done
余計な変数がいるからforを使わないというのは正しいが
余計な変数がいるからfindを使うは正しくない
whileを使えば余計な変数は不要
どうするかって?
set -- *
while [ $# -gt 0 ]; do ...; shift; done
余計な変数がいるからforを使わないというのは正しいが
余計な変数がいるからfindを使うは正しくない
317デフォルトの名無しさん
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>...らへん。
> ファイル数が多数になった場合
これ\+じゃなくて\;を使えば別にファイル数が多数になっても
適宜処理できるんじゃない?
https://pubs.opengroup.org/onlinepubs/9699919799/utilities/find.html
↑これの-execの
If the primary expression is punctuated by a <semicolon>...らへん。
318デフォルトの名無しさん
2020/12/09(水) 22:41:47.84ID:vZ4bQifg >>317
すまん,for文の話だった。
すまん,for文の話だった。
319デフォルトの名無しさん
2020/12/10(木) 13:32:02.46ID:PUDbf/ME >>309
これについて
手元のGNU findで試してみたけど 該当するfile/dirが1件も見付からない場合でも
エラーにならないというかexit statusは0だった。
もっとも これが正しい挙動なのかは不明。
これについて
手元のGNU findで試してみたけど 該当するfile/dirが1件も見付からない場合でも
エラーにならないというかexit statusは0だった。
もっとも これが正しい挙動なのかは不明。
320デフォルトの名無しさん
2020/12/10(木) 14:01:03.28ID:A3fjGgOY POSIXに仕様が書いてあるのに
あの程度も読めないやつがいるんだな
あの程度も読めないやつがいるんだな
321デフォルトの名無しさん
2020/12/10(木) 15:44:18.07ID:PUDbf/ME322デフォルトの名無しさん
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 エラーが発生しました。
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/o6Go9324デフォルトの名無しさん
2020/12/11(金) 01:30:47.40ID:s+ujdTab >>323
悪い仕様の書き方の見本みたいなところあるけど
ファイルが見つかったかどうかはEXIT STATUSには無関係
ファイルが見つかっても見つからなくても
なんらかのエラーで走査できないパスが1つでもあればEXIT STATUSは1以上
全てのパスが走査きればファイルが見つかっても見つからなくてもEXIT STATUSは0
悪い仕様の書き方の見本みたいなところあるけど
ファイルが見つかったかどうかはEXIT STATUSには無関係
ファイルが見つかっても見つからなくても
なんらかのエラーで走査できないパスが1つでもあればEXIT STATUSは1以上
全てのパスが走査きればファイルが見つかっても見つからなくてもEXIT STATUSは0
325デフォルトの名無しさん
2020/12/11(金) 02:02:17.08ID:76SqqmH2 一般的にはプログラムが正常終了すれば0
異常終了すれば1
ファイルが一つも見つからなくても
プログラムが正常に終了したので0になる
異常終了すれば1
ファイルが一つも見つからなくても
プログラムが正常に終了したので0になる
326デフォルトの名無しさん
2020/12/11(金) 02:22:36.63ID:ExAO4AKO327デフォルトの名無しさん
2020/12/11(金) 10:03:55.72ID:ExAO4AKO あげ
328デフォルトの名無しさん
2020/12/11(金) 10:56:58.75ID:wU/o6Go9 >>324
ありがとう!
ありがとう!
329デフォルトの名無しさん
2020/12/11(金) 10:57:23.23ID:wU/o6Go9 さげ
330デフォルトの名無しさん
2020/12/11(金) 10:57:25.22ID:vQm1aiEb スレはまだ33も34も使えてたな。w
331デフォルトの名無しさん
2020/12/11(金) 11:16:29.73ID:wU/o6Go9 >>316
setすげー
setすげー
332デフォルトの名無しさん
2020/12/11(金) 12:51:27.35ID:vQm1aiEb sedについて質問。
入力に¥x80以上の文字が含まれていた場合、正規表現「.」はマッチしないんだっけ?
試しに「[¥x00-¥xff]」とするとエラーになるし。。。
任意のバイナリは扱えない?
入力に¥x80以上の文字が含まれていた場合、正規表現「.」はマッチしないんだっけ?
試しに「[¥x00-¥xff]」とするとエラーになるし。。。
任意のバイナリは扱えない?
333デフォルトの名無しさん
2020/12/11(金) 13:23:03.65ID:hnvNpoRh 前スレ埋めマンおつかれさん
334デフォルトの名無しさん
2020/12/11(金) 14:13:42.30ID:wU/o6Go9 >>332
そもそもsedって正規表現のところで\の後に数字を置いて
なにか文字を表わす,みたいなことできなかったと思う。
唯一,s/<ここ>//の←<ここ>の部分で\nが使えるだけ。
https://pubs.opengroup.org/onlinepubs/9699919799/utilities/sed.html
そもそもsedって正規表現のところで\の後に数字を置いて
なにか文字を表わす,みたいなことできなかったと思う。
唯一,s/<ここ>//の←<ここ>の部分で\nが使えるだけ。
https://pubs.opengroup.org/onlinepubs/9699919799/utilities/sed.html
335デフォルトの名無しさん
2020/12/11(金) 14:42:33.40ID:vQm1aiEb >>334
ほかにも'\\', '\a', '\b', '\f', '\r', '\t', '\v'は使えるようだが、それだけか。
うぬぬ。。。
では、次のようなバイナリがあったとき、数値部分を抽出するにはどうすればいいかな?
<任意のバイナリ><数値テキスト>
ほかにも'\\', '\a', '\b', '\f', '\r', '\t', '\v'は使えるようだが、それだけか。
うぬぬ。。。
では、次のようなバイナリがあったとき、数値部分を抽出するにはどうすればいいかな?
<任意のバイナリ><数値テキスト>
336デフォルトの名無しさん
2020/12/11(金) 16:02:17.03ID:FiGFWWeM grep -aとか?
337デフォルトの名無しさん
2020/12/11(金) 16:18:40.22ID:s+ujdTab GNU grepで-obUaPで使ってる
https://stackoverflow.com/a/17168847
https://stackoverflow.com/a/17168847
338デフォルトの名無しさん
2020/12/11(金) 16:52:32.46ID:vQm1aiEb >>336,337
ありがとう。
一瞬だけgrepでなんとかならんかな?と思ったけど、いやムリやろと自己完結してた。。。
ちなみに試した感じ、grep -o(--only-matching)で充分そうだけど、-a(--text)は何のため?
ありがとう。
一瞬だけ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 | ......|
\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 | ......|
00000000 20 bc a2 e5 ad 97 0a | ......|
341デフォルトの名無しさん
2020/12/11(金) 18:05:15.53ID:FiGFWWeM342デフォルトの名無しさん
2020/12/11(金) 18:27:02.69ID:vQm1aiEb >>339
あー、なるほど。
エスケープとかじゃなくて、直にその文字コードの文字を入力したらいいのか。
ってムリ。w
入力ができるできないで言えばできるけど、後から文字が読めなくなるし。
とにかく、sedだってバイナリを扱えないことはない、ということはわかりました。
ありがとう。
あー、なるほど。
エスケープとかじゃなくて、直にその文字コードの文字を入力したらいいのか。
ってムリ。w
入力ができるできないで言えばできるけど、後から文字が読めなくなるし。
とにかく、sedだってバイナリを扱えないことはない、ということはわかりました。
ありがとう。
343デフォルトの名無しさん
2020/12/11(金) 18:29:19.33ID:vQm1aiEb344デフォルトの名無しさん
2020/12/11(金) 18:36:44.59ID:IIqX/1kZ >>342
> 入力ができるできないで言えばできるけど、後から文字が読めなくなるし。
$ A=$(printf '\xe6')
読めるだろ?
後からって読むならスクリプトファイルにしてるはずだし
なにか問題が?
> 入力ができるできないで言えばできるけど、後から文字が読めなくなるし。
$ A=$(printf '\xe6')
読めるだろ?
後からって読むならスクリプトファイルにしてるはずだし
なにか問題が?
345デフォルトの名無しさん
2020/12/11(金) 19:02:21.38ID:vQm1aiEb346デフォルトの名無しさん
2020/12/11(金) 19:13:58.45ID:IIqX/1kZ x80=$(printf '\x80')
xFF=$(printf '\xff')
sed --expression "/[$x80-$xFF]/"
でいいだろ
なんでこう頭が固いのか
xFF=$(printf '\xff')
sed --expression "/[$x80-$xFF]/"
でいいだろ
なんでこう頭が固いのか
347デフォルトの名無しさん
2020/12/11(金) 20:19:54.18ID:i7+Pb2PU シェルスクリプトが大好きなんだ
348デフォルトの名無しさん
2020/12/11(金) 21:29:20.20ID:vQm1aiEb349デフォルトの名無しさん
2020/12/11(金) 21:42:27.33ID:IIqX/1kZ350デフォルトの名無しさん
2020/12/11(金) 21:57:40.12ID:uTa/dhkC ポジ夫はそろそろコテ付けろ
351デフォルトの名無しさん
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
for i in 80 ff; do eval "x$i=$(printf "\x$i")"; done
353デフォルトの名無しさん
2020/12/11(金) 23:46:03.88ID:wU/o6Go9 sed --expression "/[$(printf '\x80')-$(printf '\xff')]/"
これが「ヤバい」理由を教えてくれたら改善≠ナきるかも知れない。
(正直私にはとくに「ヤバい」コードには見えないのだが……)
これが「ヤバい」理由を教えてくれたら改善≠ナきるかも知れない。
(正直私にはとくに「ヤバい」コードには見えないのだが……)
354デフォルトの名無しさん
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]//')"
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おじさんと一緒
自分が未熟であることに気が付かないとどうしようもないだろうな
staticおじさんと一緒
357デフォルトの名無しさん
2020/12/12(土) 00:10:55.93ID:iu3yHDzN (まだ)POSIX準拠じゃないけど、誰かに言われるのも嫌なので一応w
LANG=C sed --expression $'s/[\x80-\xff])//'
LANG=C sed --expression $'s/[\x80-\xff])//'
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★2 [ぐれ★]
- 【中国局長】両国関係に「深刻な影響」 首相発言の撤回要求 [蚤の市★]
- 【卓球】早田ひな、「総額100万スられた」「ずっと憧れていたスペインとイタリア…」ヨーロッパ旅行で悲劇 スリ被害を告白 [muffin★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★3 [BFU★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 日経平均の下落率3%超す、財政懸念で長期金利上昇 ★2 [お断り★]
- 【実況】博衣こよりのえちえち歌枠🧪★2
- 【画像】外務省局長「この度はうちの🦎がすみません…」中国「……」 [165981677]
- 産経新聞「高市早苗の答弁さぁ……思慮が足りてなくね?官僚と詰めずに思いつきで話しているでしょ」 [175344491]
- 【高市速報】日本人の3割「中国への武力行使に踏み切る必要がある」ANN世論調査 [931948549]
- 【雑談】暇人集会所part18
- 外務省局長、よくわからないまま帰国へ [834922174]
