• 締切済み

シェルの作成について教えてください。

初心者なのですが、シェルの作成方法を教えてください。 文字を指定した時、 下記のようにファイル名とファイルの中身が表示されるようなシェルを作成したいのですが、 どう作成すればよいかがわかりません。 ファイル名 ファイルの中身 1-1 :11a 1-1b :11b 1-2 :12a 1-2b :12b 1-3 :13a 1-4 :14a aと指定した時の結果 1-1:11a 1-2:12a 1-3:13a 1-4:14a bと指定した時の結果 1-1b:11b 1-2b:12b 何も指定しない場合は、 すべて表示される。 さらに1-1と指定した場合は、 1-1:11a 1-1b:11b と表示させたいです。 宜しくお願いいたします。

みんなの回答

  • notnot
  • ベストアンサー率47% (4848/10262)
回答No.2

>指定文字がファイルの中身にあればそれを表示する方法です。 ということは、 >さらに1-1と指定した場合は、 >1-1:11a >1-1b:11b は書き損ねで無視して良いと言うことですね。 検索対象のファイルはカレントディレクトリの全ファイルとすると、 #!/bin/sh if test $# = 0 then grep '^' * else fgrep '$1' * fi くらいかな。

noname#96023
noname#96023
回答No.1

ファイル名を基準にしたいのか、ファイルの中身を基準にしたいのかとか いまいち表示のルールがわかりません このままでは ファイル名とファイルの中身の種類が増えたときの処理が書けません

yoshiy1203
質問者

補足

説明不足ですみません。 基準はファイルの中身になります。 指定文字がファイルの中身にあればそれを表示する方法です。

関連するQ&A

  • oracleのExportシェル作成

    oracle10gを使用しています。 テーブル単位のExportを行うシェルを作成しようと思っております。 テーブルをfilesizeを指定し分割したいのですが、 "エクスポート・ファイル: EXPDAT.DMP >"を検知、新たにファイル名を指定、Enter の書き方がわかりません。お力添え宜しくお願いします。 ファイル名は最初にexp_dump01.dmpを指定し、以降はexp_dump02.dmpと 番号をインクリメントさせたいと思っております。 現在、以下のようなシェルを作成しました。 #!/bin/sh #変数指定 CON='エクスポート・ファイル: expdat.dmp >' RET='エクスポートは警告なしで正常終了しました。' ICOUNT=1 #コマンド実行 expコマンド #結果取得 VAR=`command` #取得結果が次のファイル名を要求している場合 while [VAR=CON] do ファイル名をインクリメントしたものを指定 done #取得結果が正常終了を示した場合 if [VAR = RET] echo 'Exportが終了しました。' fi #次のコマンド実行

  • Bシェルで、ファイル内にある文字列があるかどうかチェックする方法

    Bシェルプログラムで、指定したディレクトリ内の全てのファイル内に、ある文字列があった場合、そのファイルを別のあるディレクトリに移動させる。というプログラムを作成したいのです。 指定したディレクトリ内のファイル名を取るとこまではわかったのですが、文字列を検索する術がよくわかりません。 ヒントでも何でも教えてください。 よろしくおねがいします。

  • unixのシェルで

    シェルを実行して、ファイルAの内容と、引数Aを連結してファイルBを作成したい場合にはどうしたら良いですか? 例> 実行するシェル : test.csh ファイルAの内容 : 123456 引数A : 9 作成したいファイルBの内容 : 1234569 123456と9の間にSPACEは入れないようにしたいのですが、どうしても入ってしまいます。 よろしくお願いします。

  • シェルスクリプトの内容について

    業務で使用しているシェルスクリプトの中身に find A/B/ -name File1 -exec mv {}/C/D \; ※AとBとCとDはディレクトリ名、File1はファイル名   という記述があってfindによる検索結果をmvの引数に持ってきて C/D/の直下にFile1を移動している意味はわかったのですが最後尾にある「¥」の意味がよくわかりません。 よろしくお願いします。

  • シェル作成手伝ってください><

    会社に入社して3年目。 シェル作成はまだド素人であり、期日がもうせまっており とても困っております。 よかったら助けてくれませんか??? 内容は下記を参照ください。 <シェル内容> ・coreファイル削除をシェルにて削除したい。 ・削除対象ディレクトリ←ここにファイルが作成されます。 →/home/xxxx/配下 できればfindにてcoreファイルを参照してファイルがあれば 削除し、なければそのまま何もせずに終了する。 ちなみにUNIXでcshで作成してほしいと言われました。 ついでといっては失礼と思いますが、続けてif文のココもわからないのでできたら教えてください。 if ( 変数 )then 変数がわからんです。 本当に唐突的ですがお早めの回答よろしくお願いいたします。

  • シェルでData URI schemeのようなもの

    シェルの引数でファイルを指定するところを、ファイルへのパスではなく、直接ファイルの中身を渡すようなことはできますか? ちょうどHTTPでいうData URI schemeのようなものです。 現在作成中のスクリプトで、データをファイルに落とさずに、直接別のプログラムに渡して、出力された結果を取得したいです。 よろしくお願いいたします。

  • シェルについて

    シェルの作成方法がわかりませんので教えてください。 シェルを実行することにより、 secureログファイルの「disconnect」という文字列を待ちます。 「disconnect」という文字列が出力されたら、 別のシェルを実行するというシェルを作成したいと考えています。 1.このようなシェルは作成することが可能でしょうか?   もし、可能でしたら例文を書いて頂ければ幸いです。 2.別のシェルを実行した後、   当初の「disconnect」という文字列を待つ状態に戻りと思いますが、可能でしょうか?   もし、可能でしたら例文を書いて頂ければ幸いです。 どうぞよろしくお願いします。

  • UNIXのシェルについて教えてください。

    UNIXシェル初心者です困っていますので教えてください。 (例) /tmp/test.txtのファイルがあるといたします。 このファイルの中身は、下記のようになっております。 01 一番 一郎 02 二番 次郎 04 三番 太郎 05 四番 吾郎      ・      ・ この中身をUNIXシェルを利用して/tmp/test1.csvに書き出し 内容を下記ように変更したいです。 01 一番 一郎 背番号 01 である。 02 二番 次郎 背番号 02 である。 04 三番 太郎 背番号 04 である。 05 四番 吾郎 背番号 05 である。      ・      ・ 実際に実施した/tmp/test.txtファイルは何百行もあり手動で作成するのは 手間です。 よろしくお願いいたします。

  • Cシェルでの質問

    シェルについての質問ですが、 1、nkdir /a/$b/$b`date+'%Y'` とディレクトリを作り 作成したディレクトリにファイルを移動したいのですが、 ディレクトリを作る際に、 /$bのしたに$bという名前のファイルしかでず、 うまく出来ません。 2、2つのファイル、a,bの差分をとるシェルを作りたいのですが、考えれば考えるほどどのような切り口で作ればよいか解らなくなっています。おそらくdiffコマンドを使うのでは?という所までは来ているのですが、その結果ファイルを使う必要があり、更に園ファイルを編集しなければならなく、訳がわからなくなっている状態です。 この2点、どちらかおわかりの方、どうかご教授のほどよろしくお願い致します。

  • Linux シェルスクリプト

    シェルスクリプトを作る際に、汎用スクリプトを作るのが上手くいきません。 例として以下の2つのシェルの作成例を教えてください。 1、スクリプト名をrei1として platex T1.tex dvipdfmx T1.dvi xdvi T1.dvi & wc -c T1.tex T1.dvi T1.pdf ではT1.tex専用なので これを $ ./rei1.sh ファイル名 と打ちこむことでどのファイルにでも適応できるようにする 2、スクリプト名をrei2.shとして 後から指定した文字列を含む (例えばaak ak aab aba naaの5つがあった時、「aa」と指定することでaak,aab,naaの3つを選ぶ) ファイルを選び出し、それを指定したディレクトリ(このディレクトリも可能なら後から指定したい) に移動する。という動作をするシェルスクリプト。