■前提例
./public_html/rails/modules/abcde/cache/hoge/file1
./public_html/rails/modules/abcde/cache/file2
./public_html/ruby/modules/wiki/private/cache/file3
./net/cache/file4
./n/abcde/cache/file5
:
以下略
■期待しているのは、下記二つのディレクトリを検出し、かつそのディレクトリ以下のファイル数を、ディレクトリ毎に表示させたいのですが、
2./public_html/rails/modules/abcde/cache/
1./n/abcde/cache/
:
もしくは、
2./public_html/rails/modules/abcde/cache/hoge/file1
2./public_html/rails/modules/abcde/cache/file2
1./n/abcde/cache/file5
:
■実際に下記コマンドを実行すると、
find . -type f -regex '.*/abcde/cache/.*' -print | wc -l
4503
という数値(恐らくファイル数?)が返ってくるのみです。
ググッてみて、
find . -type f -regex '.*/abcde/cache*/.*' | xargs wc -l
find . -type f -regex '.*/abcde/cache/.*' -print | xargs wc -l
find . -type f -regex '.*/abcde/cache/.*' -exec wc -l \{\} \;
とか色々試してみたのですが、
恐らく行数?が表示されるようで、自分が期待した結果を得ることが
できません。
条件で検出したディレクトリ以下のファイル数を、ディレクトリ毎に表示させるには、
どうしたらよいのでしょうか。
No.1ベストアンサー
- 回答日時:
>■期待しているのは、下記二つのディレクトリを検出し
>./public_html/rails/modules/abcde/cache/
>./n/abcde/cache/
探す場所がわかっているのなら、 find の開始ディレクトリに指定すれば、それより下だけを探します。
-regexはabcde/cacheを探すために使ったものですし、今回のやり方だと常に真なので削ります。
find ./public_html/rails/modules/abcde/cache ./n/abcde/cache -type f -print
>かつそのディレクトリ以下のファイル数を、ディレクトリ毎に表示させたい
sedで開始ディレクトリだけ取り出す→sortで並びかえる→uniq に -cオプションつけて重複行を数える。
としてみました
find ./public_html/rails/modules/abcde/cache ./n/abcde/cache -type f -print | sed 's/^\(\.\/public_html\/rails\/modules\/abcde\/cache\/\|\.\/n\/abcde\/cache\/\).*$/\1/' test4.txt | sort | uniq -c
abcde/cacheがそれぞれに下に含まれていないならもうちょっと簡単に
find ./public_html/rails/modules/abcde/cache ./n/abcde/cache -type f -print | sed 's/^\(.*\/abcde\/cache\/\).*$/\1/' test4.txt | sort | uniq -c
ここまでくると、シェルスクリプトやperl,awk等を使ったほうがすっきりしそうです。
#!/usr/bin/sh
for i in _html/rails/modules/abcde/cache ./n/abcde/cache
do
echo "`find $i -type f | wc -l` $i"
done
この回答への補足
(前回に引き続き)ご回答いただき、ありがとうございます。
おかげで、自分が望む結果を得ることができました。
(簡単なスクリプトでこんなことも出来るんだ、とちょっと感動しました)
<補足>
>■期待しているのは、下記二つのディレクトリを検出し
説明が悪かったのですが、実際には、/abcde/cache/を
0~複数個探したいという意図でした。
>test4.txt
このtest4.txt は何を意味しているのでしょうか?
実際に試したところ、下記のようになりました。
sed: can't read test4.txt: No such file or directory
>abcde/cacheがそれぞれに下に含まれていないなら
それぞれに下に含まれていないなら、
この部分の意味がよく分かりませんでした。
■最終的に、試したのが、下記です。
find . -type f -regex '.*/abcde/cache/.*' -print | sed 's/^\(.*\/abcde\/cache\/\).*$/\1/' | sort | uniq -c
85 ./public_html/aa/modules/abcde/cache/
13 ./public_html/bb/modules/abcde/cache/
:
以下略
それぞれのディレクトリ以下にあるファイル数の一致を
無事確認することができました。
ありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(OS) アプリの起動に必要なファイルについて 1 2023/04/23 17:53
- 画像編集・動画編集・音楽編集 DVD Styler トラブル解決方法 6 2022/10/29 16:00
- UNIX・Linux shellscript内のコマンドを、sudo(toor)として実行 2 2022/09/23 15:05
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- UNIX・Linux JSLinuxについて。 Linuxのこの手順のプログラミングは合っているでしょうか。 ①ホームディ 2 2022/06/20 15:33
- 事件・事故 以下の記事の事件について、自分の指が目の前に突き出されたために自供した男の子はどんな心情だったと思い 1 2023/01/04 09:28
- PHP imageフォルダに、画像をリサイズして保存する時のファイル名を変更したい 1 2023/05/30 11:39
- その他(プログラミング・Web制作) セレクトボックスで選択された値をコントローラーで使用したい 2 2022/07/26 16:41
- 事件・事故 舌ってちぎれたらどれほど痛いのですか? https://ikioi5ch.net/cache/vie 3 2023/01/10 18:07
- その他(プログラミング・Web制作) 図に示す階層構造で,現在のディレクトリ(カレントディレクトリという)が*印のディレクトリであるとき, 2 2022/11/16 10:55
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ftpのmgetコマンドの自分の格納...
-
scpによるデータ転送後、ディレ...
-
make時に出てきたエラーメッセ...
-
Minecraftにforgeを入れたら、...
-
FTPコマンドのCDについて
-
削除出来ないディレクトリが出...
-
計算が実行されません。mv:照合...
-
拡張子.dどういう意味
-
ホームページのディレクトリを...
-
sftpのディレクトリ制限について
-
2TBのUSBメモリを2000円ほどで...
-
zorin os lite 15 のデスクトッ...
-
FTPでPUTできない原因は何?
-
/(スラッシュ)で区切ったフル...
-
find 指定ディレクトリ以下のフ...
-
「照合パターンに合いません」...
-
7zを使うとフォルダの中身がす...
-
1ディレクトリに作れるファイル...
-
Linuxコマンドについて
-
特定文字列を除外してcpする方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
拡張子.dどういう意味
-
ftpのmgetコマンドの自分の格納...
-
7zを使うとフォルダの中身がす...
-
ホームページのディレクトリを...
-
make時に出てきたエラーメッセ...
-
バッチファルの置き場所
-
linuxコマンド mkdirでディレ...
-
scpによるデータ転送後、ディレ...
-
FTPコマンドのCDについて
-
「ドット(.)」と「¥」の意味...
-
ファイル名で / (スラッシュ...
-
FTPでPUTできない原因は何?
-
"cp -a"と"cp -r"の違い
-
Linuxコマンドについて
-
「照合パターンに合いません」...
-
/(スラッシュ)で区切ったフル...
-
ftpでのフォルダごとの転送はで...
-
tarコマンドのエラーについて
-
シンボリックリンクについて
-
LinuxでSGID設定する際、2775と...
おすすめ情報