シェルスクリプトに関する総合スレッドです。
全般
・荒しは無視しましょう。
・丁寧な姿勢を心掛けましょう。
・ネチケット(死語)を意識しましょう。
前スレ:
シェルスクリプト総合 その29
https://mevius.5ch.net/test/read.cgi/tech/1537540487/
シェルスクリプト総合 その30
■ このスレッドは過去ログ倉庫に格納されています
2019/07/01(月) 23:04:27.02ID:/rKj5XUf
154デフォルトの名無しさん
2019/07/10(水) 13:29:47.61ID:eZpAq1ko155デフォルトの名無しさん
2019/07/10(水) 13:46:00.77ID:AgLkizrd 1桁目を並び替えて、それから2桁を並び替えて、それから3桁目を並び替えるってできるんかいな?
できたとしても、1.0.0 よりも 1.0.0-alpha は小さくなって、
1.0.0-alpha と 1.0.0-beta はASCII順で後者のほうが後で、
1.0.0-alpha と 1.0.0-alpha+20190710 は順番が同じなんていうルールが有るわけだけど
できたとしても、1.0.0 よりも 1.0.0-alpha は小さくなって、
1.0.0-alpha と 1.0.0-beta はASCII順で後者のほうが後で、
1.0.0-alpha と 1.0.0-alpha+20190710 は順番が同じなんていうルールが有るわけだけど
156デフォルトの名無しさん
2019/07/10(水) 15:06:48.80ID:StxWbt+s できたとしても以後がえぐい
157デフォルトの名無しさん
2019/07/10(水) 16:09:18.81ID:eZpAq1ko 素直にsort -V使うのが一番。
POSIXに準拠したければそれなりの実力がないとね。
少なくとも俺には無理w ていうかわざわざ既にある機能を苦労して再発明したくねーw
POSIXに準拠したければそれなりの実力がないとね。
少なくとも俺には無理w ていうかわざわざ既にある機能を苦労して再発明したくねーw
158デフォルトの名無しさん
2019/07/10(水) 16:15:38.61ID:6IY0QwqQ つまりどこでも動くシェルスクリプトなんて都市伝説だよね。
159デフォルトの名無しさん
2019/07/10(水) 17:49:00.07ID:lDiVjXP/ 世界征服して一つのシェルしか使わないように全世界の人間に強制すれば可能
160デフォルトの名無しさん
2019/07/10(水) 18:31:37.23ID:8OTK1K8V シェルだけ統一しても無理だな
161デフォルトの名無しさん
2019/07/10(水) 19:54:16.62ID:eZpAq1ko シェルスクリプトは「完全に」どこでも動くとは限らないけど
他の言語と比べて「ある程度」どこでも動く確率が高い。
他の言語と比べて「ある程度」どこでも動く確率が高い。
162デフォルトの名無しさん
2019/07/10(水) 20:10:25.56ID:8OTK1K8V 確率を言うならデータもってこいよ
どこにあるんだよその統計はw
どこにあるんだよその統計はw
163デフォルトの名無しさん
2019/07/10(水) 20:36:18.03ID:j+J/37U2 まだやってる。堂々巡りを。四国へ行け
164デフォルトの名無しさん
2019/07/10(水) 20:37:15.39ID:StxWbt+s それいわれたのC があって perl ができる前の常識でしょ
C よりは確かに移植性ある
C よりは確かに移植性ある
165デフォルトの名無しさん
2019/07/10(水) 20:59:14.35ID:lDiVjXP/ Windowsには最初からは入ってないよね?今のは入ってる?
まあ WSL 動かしちゃえば何でもありにはなるが。
まあ WSL 動かしちゃえば何でもありにはなるが。
166デフォルトの名無しさん
2019/07/10(水) 20:59:47.00ID:mGyL/3Gj そんなに難しい話じゃなくてshは多くの環境にインストールされてるってだけのことでしょ?
例えばPerlが初期インストールされてるような環境なら
必ずshもインストールされてる。
Perlが入って無くても、shはインストールされてる。
例えばPerlが初期インストールされてるような環境なら
必ずshもインストールされてる。
Perlが入って無くても、shはインストールされてる。
167デフォルトの名無しさん
2019/07/10(水) 21:01:25.84ID:mGyL/3Gj168デフォルトの名無しさん
2019/07/10(水) 21:13:36.75ID:mGyL/3Gj 結局の所Windowsとそれ以外のOSに分かれるわけで、
Windowsとそれ以外のOSの両方に入ってる言語はなくて、
Windows以外のOSに入ってる言語で一番多いのはshなんだよね。
Windowsとそれ以外のOSの両方に入ってる言語はなくて、
Windows以外のOSに入ってる言語で一番多いのはshなんだよね。
169デフォルトの名無しさん
2019/07/10(水) 21:16:39.60ID:mGyL/3Gj dockerとか使うとわかるけど、最小イメージのalpineには
perもrubyもpythonも入ってないからな
perもrubyもpythonも入ってないからな
170デフォルトの名無しさん
2019/07/10(水) 21:19:19.80ID:mGyL/3Gj そういやalpineにはbashですら入ってないのな
171デフォルトの名無しさん
2019/07/10(水) 21:23:57.90ID:6IdsJob5 /\___/\
/ / ヽ ::: \
| (●), 、(●)、 | / ̄ ̄ ̄ ̄ ̄ ̄ ̄
| ,,ノ(、_, )ヽ、,, | < まーたはじまった
| ,;‐=‐ヽ .:::::| \_______
\ `ニニ´ .:::/
/`ー‐--‐‐―´´\
/ / ヽ ::: \
| (●), 、(●)、 | / ̄ ̄ ̄ ̄ ̄ ̄ ̄
| ,,ノ(、_, )ヽ、,, | < まーたはじまった
| ,;‐=‐ヽ .:::::| \_______
\ `ニニ´ .:::/
/`ー‐--‐‐―´´\
172デフォルトの名無しさん
2019/07/10(水) 23:46:47.18ID:8OTK1K8V 要はPOSIXは必要最低限の機能しか規格化していないから出来ることには限界があるってことだ
173デフォルトの名無しさん
2019/07/11(木) 04:18:38.14ID:pY8YHtW/ >>168
そうそう。こういうことなんだよ。
そうそう。こういうことなんだよ。
174デフォルトの名無しさん
2019/07/11(木) 09:51:44.08ID:5BkhO8Tf 独自にcmdやpowershell持ってるしな
175デフォルトの名無しさん
2019/07/11(木) 10:49:49.47ID:7babKKNu Windowsにはshが入ってない!
→ かといってじゃあ他の言語が入っているかというと入ってない
Windowsは諦めた。それ以外で最初からOSに入っていてどこでも使える言語はなんだ?
→ sh
→ かといってじゃあ他の言語が入っているかというと入ってない
Windowsは諦めた。それ以外で最初からOSに入っていてどこでも使える言語はなんだ?
→ sh
176デフォルトの名無しさん
2019/07/11(木) 11:30:36.51ID:EFuj/0Xm どこでも動くシェルスクリプトって都市伝説だよねw
177デフォルトの名無しさん
2019/07/11(木) 11:35:07.95ID:nlZoRVuP /\___/\
/ / ヽ ::: \
| (●), 、(●)、 | / ̄ ̄ ̄ ̄ ̄ ̄ ̄
| ,,ノ(、_, )ヽ、,, | < まーたはじまった
| ,;‐=‐ヽ .:::::| \_______
\ `ニニ´ .:::/
/`ー‐--‐‐―´´\
/ / ヽ ::: \
| (●), 、(●)、 | / ̄ ̄ ̄ ̄ ̄ ̄ ̄
| ,,ノ(、_, )ヽ、,, | < まーたはじまった
| ,;‐=‐ヽ .:::::| \_______
\ `ニニ´ .:::/
/`ー‐--‐‐―´´\
178デフォルトの名無しさん
2019/07/11(木) 11:39:41.84ID:bvWe7WiP Javaなら一度書けばどこでも動くのに
179デフォルトの名無しさん
2019/07/11(木) 11:54:59.97ID:PMWvbDa1 まじで?
買ってきたばかりの ノートブック windows でも?
買ってきたばかりの ノートブック windows でも?
180デフォルトの名無しさん
2019/07/11(木) 12:03:46.60ID:oBmxbhd/ 買ってきたばかりの ノートブック windows でも
Perlなら動く!→動きません(笑)
Rubyなら? Pythonなら? C言語なら? NO!!!!
Perlなら動く!→動きません(笑)
Rubyなら? Pythonなら? C言語なら? NO!!!!
181デフォルトの名無しさん
2019/07/11(木) 12:05:03.00ID:PMWvbDa1 それでも Java なら動く?
182デフォルトの名無しさん
2019/07/11(木) 12:28:30.89ID:pY8YHtW/ PowerShellなら動きます(白目)
183デフォルトの名無しさん
2019/07/11(木) 12:29:45.46ID:W9yQmyPF Windowsに最初から入ってるのは vbs とか js とか、あとバッチファイルとかパワーシェルかな。よく知らんけど。
HTAってのもあったっけ。
HTAってのもあったっけ。
184デフォルトの名無しさん
2019/07/11(木) 12:34:10.09ID:CgGarxi7 powershell考えた奴は頭おかしいんじゃね
なんでいちいちコマンドとかあんな長いんだよ
無能にもほどがある
なんでいちいちコマンドとかあんな長いんだよ
無能にもほどがある
185デフォルトの名無しさん
2019/07/11(木) 12:50:53.46ID:At9Pc1xn adduserとuseraddどっちがどっちかたまに使うとき毎回調べるみたいなクソ下らないことしたくないからじゃない?
186デフォルトの名無しさん
2019/07/11(木) 12:57:39.35ID:oBmxbhd/ それをいうなら、Windows、Macで、どの言語でも構わないが
ユーザーを追加する方法を調べないでわかるっていうの?
ユーザーを追加する方法を調べないでわかるっていうの?
187デフォルトの名無しさん
2019/07/11(木) 12:58:48.61ID:l57S3jiM POSIXってUNIX系OSの規格なのに
なんでWindowsの話になってんだよw
なんでWindowsの話になってんだよw
188デフォルトの名無しさん
2019/07/11(木) 13:00:17.64ID:A1tpN7ls >>181
インストールしないで動くのか?
インストールしないで動くのか?
189デフォルトの名無しさん
2019/07/11(木) 13:01:52.25ID:PMWvbDa1190デフォルトの名無しさん
2019/07/11(木) 13:23:31.79ID:W9yQmyPF >>189
入れたかったんだけどね・・・
入れたかったんだけどね・・・
191デフォルトの名無しさん
2019/07/11(木) 14:01:00.83ID:l57S3jiM Javaはオワコン
192デフォルトの名無しさん
2019/07/11(木) 14:06:11.17ID:oQkLsXMb javaのコンセプト
write ones, test everywhere
write ones, test everywhere
193デフォルトの名無しさん
2019/07/11(木) 14:16:47.27ID:5J3UX5Vb debug anywhereやろ
194デフォルトの名無しさん
2019/07/11(木) 14:20:46.71ID:xCkJ5LaR Windows, WSL, Ubuntu16.04 では、Python, Perl は最初から入っている。
Ruby は、apt でインストールした
ls −l /usr/bin/python
/usr/bin/python −> python2.7
ls −l /usr/bin/python3
/usr/bin/python3 −> python3.5
ls −l /usr/bin/perl
/usr/bin/perl
ls −l /usr/bin/ruby
/usr/bin/ruby −> ruby2.3
注意。サーバーエラーになるので、全角に変換した
Ruby は、apt でインストールした
ls −l /usr/bin/python
/usr/bin/python −> python2.7
ls −l /usr/bin/python3
/usr/bin/python3 −> python3.5
ls −l /usr/bin/perl
/usr/bin/perl
ls −l /usr/bin/ruby
/usr/bin/ruby −> ruby2.3
注意。サーバーエラーになるので、全角に変換した
195デフォルトの名無しさん
2019/07/11(木) 14:59:54.89ID:3GvBtncU そういえば IBM の z/OS ではどうなっているんだろうと
思ったら z/OS シェルってのがデフォルトでインストール
されてて、こいつは POSIX compliant らしい
思ったら z/OS シェルってのがデフォルトでインストール
されてて、こいつは POSIX compliant らしい
196デフォルトの名無しさん
2019/07/11(木) 15:48:04.71ID:PMWvbDa1 それだ WSL が標準で最初から入っているようになると
昔のニュースで見たが、どうなっているの?
標準は取りやめ? Windows の最新情報追ってないからわからない
昔のニュースで見たが、どうなっているの?
標準は取りやめ? Windows の最新情報追ってないからわからない
197194
2019/07/11(木) 16:19:18.53ID:xCkJ5LaR Windows10 を普通にアップデートしていれば、WSL は、最初から入っている。
ストアから、Ubuntu18.04 (長期サポート版)などをインストールして、日本語化すればよい
漏れはまだ、古いUbuntu16.04 の方を使っているけど
ストアから、Ubuntu18.04 (長期サポート版)などをインストールして、日本語化すればよい
漏れはまだ、古いUbuntu16.04 の方を使っているけど
198デフォルトの名無しさん
2019/07/11(木) 18:15:20.64ID:8iBC56G3199デフォルトの名無しさん
2019/07/11(木) 18:16:22.72ID:8iBC56G3 >>189
XPは標準で入ってて問題になった
XPは標準で入ってて問題になった
200デフォルトの名無しさん
2019/07/11(木) 18:29:01.43ID:8iBC56G3 個人的には、*nixとWindowsの違いは、
シェルと馴染んだコマンド群の有無、シェルスクリプトの実行可否だけなので、
それさえできれば、どちらでもいいや。
Cygwinはややストレス溜まったけど、WSLはだいぶ快適になった。
シェルと馴染んだコマンド群の有無、シェルスクリプトの実行可否だけなので、
それさえできれば、どちらでもいいや。
Cygwinはややストレス溜まったけど、WSLはだいぶ快適になった。
201デフォルトの名無しさん
2019/07/12(金) 00:13:06.93ID:Iwx9PgjW cmdのオプションが/なのは当て付けなんだろうか
XENIXを売ってた頃のMS知らんけど
XENIXを売ってた頃のMS知らんけど
202デフォルトの名無しさん
2019/07/12(金) 00:38:52.25ID:hw+u6C0G 階層がないファイルシステムだと - でも / でもどっちでも違和感が無いのだろう
単に好みでそれにしたってだけじゃないかな
階層があるようになって / を好みで選んで失敗したと思ったけどどうにもならななかったよう
手立ては用意したがサードパーティがそれを使わないとか
単に好みでそれにしたってだけじゃないかな
階層があるようになって / を好みで選んで失敗したと思ったけどどうにもならななかったよう
手立ては用意したがサードパーティがそれを使わないとか
203デフォルトの名無しさん
2019/07/12(金) 00:54:25.43ID:hw+u6C0G ああ、どうにもならなかったのは、
オプションを/にしてしまったからとりあえずパス区切りはバックスラッシュにしたよ、でも、/ にもできるよ
だった。オプションを - に変えるのは今でも前のいつでもできるだろうな
コマンドによっては別の意味を持たせてとかありそうだが、なんの拘りなんだかよくわからんな
オプションを/にしてしまったからとりあえずパス区切りはバックスラッシュにしたよ、でも、/ にもできるよ
だった。オプションを - に変えるのは今でも前のいつでもできるだろうな
コマンドによっては別の意味を持たせてとかありそうだが、なんの拘りなんだかよくわからんな
204デフォルトの名無しさん
2019/07/12(金) 08:37:34.85ID:paORMduQ https://packages.debian.org/ja/experimental/ksh
kshはずっと93uだったはずだが、2020なんてのがでるのか?
kshはずっと93uだったはずだが、2020なんてのがでるのか?
205デフォルトの名無しさん
2019/07/12(金) 10:59:03.44ID:paORMduQ 同じPCで一つがWSL1上のUbuntu、もう一つがDocker上のUbuntuで
lsb_release -aしてどちらも同じUbuntu 18.04.2 LTSなのに
kshのシェルに入ってから以下のコマンドを実行すると違いがある
echo $((99999999999999999))
=> 100000000000000000 # WSL
=> 99999999999999999 # Docker
KSV_VERSIONは両方とも同じ Version AJM 93u+ 2012-08-01
カーネル関係なさそうなのに、なんでだろう?
lsb_release -aしてどちらも同じUbuntu 18.04.2 LTSなのに
kshのシェルに入ってから以下のコマンドを実行すると違いがある
echo $((99999999999999999))
=> 100000000000000000 # WSL
=> 99999999999999999 # Docker
KSV_VERSIONは両方とも同じ Version AJM 93u+ 2012-08-01
カーネル関係なさそうなのに、なんでだろう?
206デフォルトの名無しさん
2019/07/12(金) 11:04:55.32ID:OtxPhCkg 大きな数の取り扱いの限界が違うのかも
207デフォルトの名無しさん
2019/07/12(金) 12:04:33.46ID:uJ9G3Ton ディレクトリごとの正確なファイル数が高速に知りたいです。
208デフォルトの名無しさん
2019/07/12(金) 12:15:53.93ID:OtxPhCkg ls より find が早い
再帰ディレクトリ探索とファイル名出力はそれに任せて
その出力をパイプで変換していったらいいんじゃないか?
再帰ディレクトリ探索とファイル名出力はそれに任せて
その出力をパイプで変換していったらいいんじゃないか?
209デフォルトの名無しさん
2019/07/12(金) 12:22:05.68ID:gCudY7G9 なぜduでファイル数も調べられるようにしなかったのか?
210デフォルトの名無しさん
2019/07/12(金) 12:22:27.56ID:gCudY7G9 duの作者に問い詰めたい
211デフォルトの名無しさん
2019/07/12(金) 12:24:06.88ID:OtxPhCkg やるべきことは最小限の1つ
UNIXの哲学でしょ
小さいから早い
小さいからパイプでつなげていろいろ実現できる
小さいから保守できる
UNIXの哲学でしょ
小さいから早い
小さいからパイプでつなげていろいろ実現できる
小さいから保守できる
212デフォルトの名無しさん
2019/07/12(金) 12:27:18.37ID:gCudY7G9 その理屈だと、lsコマンドはファイルの名前だけじゃなくて
ファイルサイズまで表示している。
最小限になってない。findコマンドを見習え
って話になるんだがw
ファイルサイズまで表示している。
最小限になってない。findコマンドを見習え
って話になるんだがw
213デフォルトの名無しさん
2019/07/12(金) 12:28:12.53ID:gpn1wbN7 >>209
ファイルを数えるのはduの仕事じゃないから
ファイルを数えるのはduの仕事じゃないから
214デフォルトの名無しさん
2019/07/12(金) 12:30:19.18ID:gCudY7G9 ファイルを数えるのは誰の仕事?
仕事は一番うまくできる人がするべきですよ
仕事は一番うまくできる人がするべきですよ
215デフォルトの名無しさん
2019/07/12(金) 12:32:27.12ID:gCudY7G9 そういやファイル名に改行が含まれる場合、
POSIX準拠コマンド&オプションだけで数えられるの?
POSIX準拠コマンド&オプションだけで数えられるの?
216デフォルトの名無しさん
2019/07/12(金) 12:35:41.89ID:gCudY7G9 やるべきことは最小限っていったら
duコマンドなんていらんよな
findでファイル検索して、lsでファイルの情報出して
awkで加算すれば良い
パイプでつなげていろいろ実現できる
duコマンドなんていらんよな
findでファイル検索して、lsでファイルの情報出して
awkで加算すれば良い
パイプでつなげていろいろ実現できる
217デフォルトの名無しさん
2019/07/12(金) 12:53:26.46ID:433S/V3Z218デフォルトの名無しさん
2019/07/12(金) 13:00:19.57ID:WQ2UtQMj219デフォルトの名無しさん
2019/07/12(金) 13:39:06.41ID:uwyqXnfJ 元々、浮動小数点は誤差があるから、どっちでも良い
誤差無しなら、プログラミング言語で、Decimal などのライブラリを使わないといけない
誤差無しなら、プログラミング言語で、Decimal などのライブラリを使わないといけない
220デフォルトの名無しさん
2019/07/12(金) 13:49:24.26ID:OtxPhCkg221デフォルトの名無しさん
2019/07/12(金) 13:57:13.80ID:q8HbeEfz >>207
$ find 〈対象ディレクトリ〉 -type f | wc -l
$ find 〈対象ディレクトリ〉 -type f | wc -l
222デフォルトの名無しさん
2019/07/12(金) 13:59:45.00ID:q8HbeEfz bcコマンド使いなよ。POSIXで定められたほとんど唯一といっていい任意精度演算ができるコマンドだぜ。
残念ながらなぜかUbuntuには初期状態で入っていない……。
残念ながらなぜかUbuntuには初期状態で入っていない……。
223デフォルトの名無しさん
2019/07/12(金) 14:11:11.28ID:OtxPhCkg >>207
find ~/web -type f | perl -pe 's{[^/]+$}{\n}m'|uniq -c
27 /home/web/
11 /home/web/elona/
5 /home/web/elona/.git/
9 /home/web/elona/.git/hooks/
1 /home/web/elona/.git/info/
...
find ~/web -type f | perl -pe 's{[^/]+$}{\n}m'|uniq -c
27 /home/web/
11 /home/web/elona/
5 /home/web/elona/.git/
9 /home/web/elona/.git/hooks/
1 /home/web/elona/.git/info/
...
224デフォルトの名無しさん
2019/07/12(金) 14:17:11.58ID:OtxPhCkg やっぱりシェルスクリプトのパイプやばい
たった1行の短いのでそこそこ早いのが書きあがっちゃう
たった1行の短いのでそこそこ早いのが書きあがっちゃう
225デフォルトの名無しさん
2019/07/12(金) 17:35:59.38ID:greuAEFm >>220
emacsは出自がUnixじゃないから
emacsは出自がUnixじゃないから
226デフォルトの名無しさん
2019/07/12(金) 18:42:09.14ID:q8HbeEfz ちなみにPlan 9(Unixの後釜)のlsはもっと洗練された体系になってる。
あとPlan 9のEmacsの手引書がおもしろい
あとPlan 9のEmacsの手引書がおもしろい
227デフォルトの名無しさん
2019/07/12(金) 19:16:50.62ID:13weq3zY Plan 9の今後のプランは!?
228デフォルトの名無しさん
2019/07/12(金) 19:39:49.25ID:gpn1wbN7 Plan 9も最初からGPLで公開していればLinuxと肩を並べてたかもね
229デフォルトの名無しさん
2019/07/12(金) 20:39:39.59ID:fylm51D9230デフォルトの名無しさん
2019/07/13(土) 10:28:41.44ID:H4ToI7wx231デフォルトの名無しさん
2019/07/13(土) 10:36:29.63ID:006l8Xk5232デフォルトの名無しさん
2019/07/13(土) 10:51:01.49ID:Q8eoyE6C 並列「プログラミング」ではないな
単に仕組みとしてプロセスが同時並行しているだけで
単に仕組みとしてプロセスが同時並行しているだけで
233デフォルトの名無しさん
2019/07/13(土) 13:12:58.10ID:PcwCdG6p234デフォルトの名無しさん
2019/07/13(土) 14:39:07.51ID:4CNtNVmB 単機能のコマンドを組み合わせて処理するのがシェルスクリプトだからな
それで速度が遅いだの言うならシェルスクリプトなんか使わなければいい
それで速度が遅いだの言うならシェルスクリプトなんか使わなければいい
235デフォルトの名無しさん
2019/07/13(土) 16:01:43.14ID:Lat3oh38 >>223
uniq -cの前にsortしなくていいの?
uniq -cの前にsortしなくていいの?
236デフォルトの名無しさん
2019/07/13(土) 16:32:06.44ID:006l8Xk5237デフォルトの名無しさん
2019/07/13(土) 16:34:17.14ID:006l8Xk5 ソートはたぶん早くないから
つまりコストが高いから
たぶん定番のあれやったほうがいい
1行ずつ読みこんだそれでハッシュ作って インクリメントしてくあれ
つまりコストが高いから
たぶん定番のあれやったほうがいい
1行ずつ読みこんだそれでハッシュ作って インクリメントしてくあれ
238デフォルトの名無しさん
2019/07/13(土) 18:44:37.37ID:Wy302ne8 実はPOSIX sortならsort -uでuniq | sortと同等ことができるのでuniqは実質要らない子
239デフォルトの名無しさん
2019/07/13(土) 19:00:08.87ID:Q8eoyE6C uniqは重複したのを抽出する目的での利用が多いな
純粋にuniqで使う機会の方が極端に少ない
純粋にuniqで使う機会の方が極端に少ない
240デフォルトの名無しさん
2019/07/13(土) 19:23:10.38ID:56OavmE8 uniq | sortって使い方分かってない奴かよw
uniqくらいソース読んでみなよ
uniqくらいソース読んでみなよ
241デフォルトの名無しさん
2019/07/13(土) 19:38:16.75ID:Wy302ne8242デフォルトの名無しさん
2019/07/13(土) 20:35:19.67ID:yaak8A3v ls .-lのrwxに8進数表記も追加できないかな
243デフォルトの名無しさん
2019/07/13(土) 22:25:11.39ID:h6vp2MpA244デフォルトの名無しさん
2019/07/13(土) 22:28:56.59ID:h6vp2MpA あ、setuid/setgid/sticky bit のこと忘れてたわ
245デフォルトの名無しさん
2019/07/13(土) 22:47:31.71ID:YCgasS9+ find ~TEST -type f -printf "%h\n" |sort |uniq -c
これは早いわ
これは早いわ
246デフォルトの名無しさん
2019/07/13(土) 23:30:54.16ID:yaak8A3v duのファイル版は俺も作ったけど未熟なんでこんな出来に
find ./ -type d -printf "%p " -exec bash -c 'ls -b "{}" | wc -l' \; | sed -r 's/(.* )(\w+)/\2\t\1/g'
find ./ -type d -printf "%p " -exec bash -c 'ls -b "{}" | wc -l' \; | sed -r 's/(.* )(\w+)/\2\t\1/g'
247デフォルトの名無しさん
2019/07/13(土) 23:43:20.86ID:PcwCdG6p >>246
見易くていいね!
見易くていいね!
248デフォルトの名無しさん
2019/07/14(日) 00:22:33.01ID:KitiOp9Q249デフォルトの名無しさん
2019/07/14(日) 02:01:57.73ID:ygf6VvPi >>207
Ruby の、1-liner で、特定のディレクトリ以下を再帰的にたどりながら(find)、
ディレクトリ以外(reject)を表示する。
%Q("〜") は、" を、Windows のPowerShell に解釈させないために、クォートする
-r で、pathname モジュールを読み込む
ただし、途中で改行しているけど、実際には改行しないで下さい!
ruby -rpathname -e 'Pathname( %Q("C:/Users/Owner/Documents/Ruby/test") ).find
{ |path| if File.directory?( path ) then; puts path, path.children.reject( &:directory? ).length end; }'
出力
C:/Users/Owner/Documents/Ruby/test
11
C:/Users/Owner/Documents/Ruby/test/a
4
C:/Users/Owner/Documents/Ruby/test/a/b
0
Ruby の、1-liner で、特定のディレクトリ以下を再帰的にたどりながら(find)、
ディレクトリ以外(reject)を表示する。
%Q("〜") は、" を、Windows のPowerShell に解釈させないために、クォートする
-r で、pathname モジュールを読み込む
ただし、途中で改行しているけど、実際には改行しないで下さい!
ruby -rpathname -e 'Pathname( %Q("C:/Users/Owner/Documents/Ruby/test") ).find
{ |path| if File.directory?( path ) then; puts path, path.children.reject( &:directory? ).length end; }'
出力
C:/Users/Owner/Documents/Ruby/test
11
C:/Users/Owner/Documents/Ruby/test/a
4
C:/Users/Owner/Documents/Ruby/test/a/b
0
250デフォルトの名無しさん
2019/07/14(日) 06:45:35.11ID:GSQZGuhE stat -c '%A %U %G %z %n' .*
↑こういうのどう? lsのパーミッション表示を8進数に
まあPOSIXに規定されてないけど
↑こういうのどう? lsのパーミッション表示を8進数に
まあPOSIXに規定されてないけど
251デフォルトの名無しさん
2019/07/14(日) 10:08:35.55ID:niuQOGKU >>245
sort を差し替えた
~/ 対象にしたら倍速
find ~/ -type f -printf "%h\n" | perl -ne '$dirs{$_} += 1; END{for $key (keys %dirs) {printf "%5s %s", $dirs{$key}, $key } }'
sort を差し替えた
~/ 対象にしたら倍速
find ~/ -type f -printf "%h\n" | perl -ne '$dirs{$_} += 1; END{for $key (keys %dirs) {printf "%5s %s", $dirs{$key}, $key } }'
252デフォルトの名無しさん
2019/07/14(日) 10:11:35.12ID:niuQOGKU 途中だった
最後に | sort -k 2,2 入れても入れなくてもあまり変わらない
やはり指数関数的にsort に大量渡すと遅くなる
最後に | sort -k 2,2 入れても入れなくてもあまり変わらない
やはり指数関数的にsort に大量渡すと遅くなる
253デフォルトの名無しさん
2019/07/14(日) 12:30:16.97ID:GSQZGuhE LANG=Cでやってみ。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「おこめ券は米以外の食品も買える。効果的な活用を」 地元で農水相 [山形県] [少考さん★]
- 【速報】「女芸人No.1決定戦 THE W」9代目女王にニッチェ! 7年ぶり3度目で悲願の優勝 [牛丼★]
- 【芸能】『女芸人No.1決定戦THE W』 粗品が最後にバッサリ「優勝賞金1000万円にしてはレベル低い大会」 [冬月記者★]
- 高市首相の答弁書に「台湾有事答えない」と明記 存立危機発言当時 ★11 [蚤の市★]
- 今年の流行語大賞 『働いて働いて働いてまいります』が受賞で不快感… 過労自殺の遺族らが会見「家族にむち打つような行為だ」 [冬月記者★]
- 【沖縄】開業4ヵ月でこれは…“国民の税金”投入の『ジャングリア沖縄』で見た衝撃的な光景と、モチベーションが低い一部スタッフの現状 [ぐれ★]
