質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
シェルスクリプト

シェルスクリプトは、UNIX系のOSもしくはコマンドラインインタプリタ向けに記述されたスクリプト。bash/zshといったシェルによって実行されるため、このように呼ばれています。バッチ処理などに使用されており、テキストファイルに書かれた命令を順に実行します。

Q&A

解決済

2回答

2652閲覧

シェルスクリプトで指定フォルダ内に指定ファイルが幾つあるかカウントしたい

muku007

総合スコア14

シェルスクリプト

シェルスクリプトは、UNIX系のOSもしくはコマンドラインインタプリタ向けに記述されたスクリプト。bash/zshといったシェルによって実行されるため、このように呼ばれています。バッチ処理などに使用されており、テキストファイルに書かれた命令を順に実行します。

0グッド

0クリップ

投稿2020/02/13 05:55

シェルスクリプトの中で
どのように書いたらよろしいでしょうか?
フォルダはカレント
指定ファイルは、work
検索ファイル数は以下の3つ、期待値は3
RCTに3が入ればOKです。
work
2work
Xwork

ワイルドカードをどのように使うのかわかりません。
ダブルコーテイションで囲むのか
*に前に何か必なのでしょうか
RCT=find -name "*_work" | wc -l

又、フォルダの指定方法はどのようにするのでしょうか
よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

find を使う場合は、通常、find . -name "*work" 〜 のようにしますが、カレントフォルダだけで良いなら

ls *work で良いと思います。

sh

1$ ls *work | wc -l

とすればもう一息。

sh

1$ RCT=$(ls *work | wc -l)

でとりあえず求めることができそうに見えます。

投稿2020/02/13 06:00

tetsunosuke

総合スコア1292

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

muku007

2020/02/14 03:07

ありがとうございます。 さらに、$()で囲むのですね。
guest

0

sh

1#!/bin/sh 2 3DIRNAME=$1 4#echo $DIRNAME 5cd $DIRNAME 6RCT=$(ls *work | wc -l) 7echo $RCT 8

使い方 ファイル名がcnt の場合 cnt /home/hoge と指定することで
/home/hoge/ 配下にあるワイルドカードで指定した個数が表示されます。

投稿2020/02/13 06:34

編集2020/02/13 06:35
nanami12

総合スコア1015

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

muku007

2020/02/14 03:05

ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問