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

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

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

前スレ: シェルスクリプト総合 その34
https://mevius.5ch.net/test/read.cgi/tech/1597990675/
2020/12/06(日) 12:42:10.98ID:+d6RCg1G
>>219
それPOSIX sedで動きますか? 試してみましたか?
2020/12/06(日) 12:46:27.12ID:+d6RCg1G
ちなみに*GNU* sedの--posixオプション付けて動かして
「動いているように見える」からPOSIX sedに準拠してる!っていうのは
当然だめだからね。分かってると思うけど。
2020/12/06(日) 12:53:07.47ID:43odFZj2
>>220
自分で試せよ
GNU sedでも--posixつければGNU拡張は全部無効になるんだから
2020/12/06(日) 12:53:27.33ID:43odFZj2
> 当然だめだからね。
なぜ?
2020/12/06(日) 12:54:15.15ID:43odFZj2
つーか試してみて動いちゃったから
焦って後出しで--posixの話加えただろw
2020/12/06(日) 12:57:09.16ID:43odFZj2
倉庫番のやつ、99ステージあるけどどうやってるんだろうと思ったら
普通にソースコードに初期配置が文字列で書かれてるんだなw
2020/12/06(日) 12:58:22.00ID:43odFZj2
あ、99ステージ分って意味ね
2020/12/06(日) 17:06:58.34ID:+d6RCg1G
見苦しいのう…
2020/12/06(日) 18:06:23.94ID:1bhylYC8
ポジバカはスルーで!
2020/12/06(日) 19:32:19.33ID:43odFZj2
>>227
POSIX sedで試しましたか?
2020/12/06(日) 22:45:34.65ID:+d6RCg1G
>>229
鸚鵡返ししかできないのですか?
(どうも図星らしい)
2020/12/06(日) 23:00:58.44ID:43odFZj2
だから試せばPOSIX sedで動くのがわかるだろ
2020/12/07(月) 01:05:35.09ID:m+PLJN/4
ポジに執着して何かいいことありますか?
2020/12/07(月) 01:10:20.04ID:owPfoMMb
ネガより色再現性が高いんです
2020/12/07(月) 01:35:18.15ID:KzEPqVfm
>>232
POSIX準拠にすればどこでも動く
むしろPOSIX準拠にしないなら
別の言語でいいだろ
2020/12/07(月) 01:43:28.16ID:ZAwFxdvq
出たよw
2020/12/07(月) 02:12:05.18ID:zwD8QGuc
しかし、ポジ準拠を謳いつつ、バグでもあったらどうすんだ?
処理系の問題だと言い張って、相手にしないつもりなの?

どこでも動くとか無責任なことは言うまい。
必要なのは動作確認。
2020/12/07(月) 08:49:22.82ID:KzEPqVfm
> しかし、ポジ準拠を謳いつつ、バグでもあったらどうすんだ?
動作確認すればいいだけ
2020/12/07(月) 14:06:32.50ID:/1DmOEYs
>>236
POSIX sedで動作確認しましたか?
2020/12/07(月) 14:32:40.29ID:zwD8QGuc
>>238
なんでオレが?w
必要なヤツがやれ!
2020/12/07(月) 17:48:32.54ID:l3Pgl7mQ
>>216
あー言い方がよくなかった。
すでに解決した問題のごく一部を後からかいつまんで、何か自分が有益な情報を
与えたかのようなふりをすること、だ。こういうのを何と言ったっけな。
コバンザメとか、そういうのにも近い。
2020/12/07(月) 19:02:40.12ID:hZsbXMrW
> すでに解決した問題

いいえ、POSIX準拠のシェルスクリプトでの
UNIXタイムの変換の話は出ていませんでした。
2020/12/07(月) 19:05:58.05ID:hZsbXMrW
有益な情報を与えたというか、単にググりましょうと言っただけですね。
下手の考え休むに似たり。ググればすぐ見つかるのに無駄な時間を過ごしてるなと言う話です。
2020/12/07(月) 23:44:28.22ID:/1DmOEYs
>>241
出てます。>>143
2020/12/08(火) 00:37:56.66ID:/pT3aml4
>>243
まとめるとね

POSIXのdateには+%sがないし、今日の日付は取得できるけど任意の日付は取得できない
+%jを使った計算は出てるけど月日形式じゃなくて、その年の初めからの日数(例 12月08日の場合は343日)からの
変換だから、一般的な年月日形式からの変換はできない。またUNIXタイムから年月日への変換は全くでてない。

という話の流れぐらいわかってください
2020/12/08(火) 13:13:44.13ID:eUC1uxpz
こいつらいっつも喧嘩してるな(´・ω・`)
2020/12/08(火) 17:56:01.38ID:TAcWm+rA
>>244
> またUNIXタイムから年月日への変換は全くでてない。
残念、 それも出てます。
>>156
2020/12/08(火) 19:11:00.60ID:NLDQQmQ4
脊髄反射を競うスレだからね
2020/12/08(火) 19:20:40.05ID:ZFT993pL
>>246
それはawkスクリプトかつクソコードということで決着はついたはずだが?

193デフォルトの名無しさん2020/12/05(土) 01:36:28.83ID:Tpji0Itw
まさかPOSIX準拠のクソ長いコードって>>156のコードのことなのか?
あれはシェルスクリプトの部分はごく僅かでほぼ9割がawkスクリプト
しかもオプション解析とか無駄なことをやってるからクソ長くなってるだけ
いやアルゴリズムもなんかムダに長い気がするな
あれみていってるなら、POSIX準拠とはクソ長いは全く関係ない

215デフォルトの名無しさん2020/12/06(日) 02:23:24.16ID:rU5Tjp1X>>218
チューリング完全かどうかでいいんじゃないの?
チューリング完全なもので実装=他言語で実装
ここはシェルスクリプトのスレなので対象外
2020/12/08(火) 19:34:42.29ID:TAcWm+rA
なるほど,ではAWKやsedを使わずに,
「POSIX準拠のシェルスクリプトでのUNIXタイムの変換」
を示してください。
2020/12/08(火) 19:43:49.41ID:ZFT993pL
「POSIX準拠のシェルスクリプトでのUNIXタイムの変換」
を検索してください。
2020/12/08(火) 19:45:03.55ID:ZFT993pL
検索キーワードを自分で書くとか
わかっててわざとやってるんだろうか?w
2020/12/08(火) 20:44:10.87ID:hItfS6FC
ポジがどうのはよくわからんがsuperじゃないedもダメなの?今man引いたらだとgnu-ed(ed)が出てきてポジ云々書いてない
シェルスクリプト用途のgrep/sedの7割くらいは違和感なく置き換えられると思うが
2020/12/08(火) 21:53:32.63ID:ZFT993pL
>>252
POSIX準拠だと移植性が上がるのでベター
コマンド呼び出しは遅いのでシェルスクリプトで実装したほうが圧倒的に速い
この2つの話が混ざってる
2020/12/08(火) 22:20:03.23ID:TAcWm+rA
>>250
検索したところ
>>156
で言及されているコードが見付かりました。
2020/12/08(火) 22:28:27.56ID:TAcWm+rA
ていうか「AWKやsedを使っていないPOSIX準拠のシェルスクリプトでのUNIXタイムの変換」
は普通に気になるわ。
はたしてそれがシェルショッカー作のPOSIX AWK製 通常時間・UNIX時間相互変換スクリプト
より早いのかどうかも含めてね。

あ,なんかこういう書き方をすると発狂する奴が出てきそうなんで念の為言っておくが,
別に俺はPOSIX最高!なんていう主義じゃないよ。
ただ単に,「POSIXに従った通常時間・UNIX時間相互変換シェルスクリプト」として
>>156 を挙げたら,
「それはAWKで書かれてるからシェルスクリプトじゃない(←まあ理解はできる),
俺は >>203 から始まる一連のスレで言及されている

203デフォルトの名無しさん2020/12/06(日) 00:28:21.63ID:rU5Tjp1X>>214
なんかグダグダやってるけどシェルスクリプトで
UNIXタイムの変換ってぐぐったら普通にでてくるやん

204デフォルトの名無しさん2020/12/06(日) 00:35:27.33ID:I5tPmPco
POSIX準拠じゃないからダメです

205デフォルトの名無しさん2020/12/06(日) 00:40:12.93ID:rU5Tjp1X
いやPOSIX準拠であるって

「ググッたら普通に出てきて」「AWKやsedで実装されてなくて」「POSIXに準拠した」
「UNIX時間を変換するシェルスクリプト」が知りたいのよ。
>>248 でも言及があるな。

それともこれは嘘?
2020/12/08(火) 22:30:51.38ID:TAcWm+rA
まあこんだけグダグダやってもそのコードが挙げられない,ってことは,
多分最初に言及してたのは >>156 のコードで,
それを脊髄反射で否定してしまったから出そうにも出せなくなってしまってる,ってとこだろう。

↑これに反論したけりゃ実物のコードを出せ。そしたらそれで済む話だ。
俺は気にしないが,君が体裁を気にするような人物なら,コードを出してくれたら
「すいませんでした」と言ってもいいぞ。
2020/12/08(火) 22:47:32.95ID:3Lge4PBr
date コマンド1回で、POSIXで、awkやsedなしで、早い処理で ....

意味不明になってきてるけども。
まあそうやって遊びたい人は自分でやれば。ってそういう奴に限って自分ではできない
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だった。
もっとも これが正しい挙動なのかは不明。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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