• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:シェルプログラミングが動きません(中級)。どなたか教えてください。)

シェルプログラミングが動かない!初心者向けに教えてください

このQ&Aのポイント
  • シェルプログラミングで作成したコードが正常に動作しません。ディレクトリは作成され、ファイルも作成されますが、ファイルの中身が正しくカウントされません。
  • 具体的な問題の内容は、2008-07-07のディレクトリを作成し、*.csv* ファイルから 'abcde' を検索し、さらにその結果から '2008-07-07' を検索してカウントし、ファイルに出力するというものです。
  • 投入コマンドは './out.sh 2008-07-07' で、ファイル名と引数を指定しています。

質問者が選んだベストアンサー

  • ベストアンサー
  • shige_70
  • ベストアンサー率17% (168/946)
回答No.2

#1です。 回答したあとで、質問の内容が何か変だなあと思いつつちょっと考えてみたんですが、 もしかして、grepの結果をファイルに落としつつ、その行数を表示したい、ということですか? でしたら、以下のようにしてください。 grep -h '/abcde' *.csv* | grep $1 | tee /work/abc-$1/gd-$1.csv | wc -l teeというのは、標準入力をファイルに落としつつ標準出力に吐く、というものです。標準入力がファイルと標準出力に分岐するイメージを図にするとTの字型になるところから tee(ティー) という名前がつきました。

p-g
質問者

お礼

プログラムが無事に動きました。わかりやすい回答ありがとうございました。また何かありましたらよろしくお願いいたします。

その他の回答 (1)

  • shige_70
  • ベストアンサー率17% (168/946)
回答No.1

wc - という部分がおかしいと思います。 wcの正しいオプション(-c,-w,-l等)を与えるか、もしくは引数なしで単に wc と書いてください。 余談ですが、複数箇所で共通になってる部分はシェル変数に入れた方がいいです。 たとえば、 work_dir="/work/abc-$1" mkdir -pm 777 "$work_dir" 、、、といった感じで。

関連するQ&A