• ベストアンサー

シェルについて

passファイルにパスワードのみが書かれたファイルがあります。 このファイルのパスワードをなんらかの形で読み取り、別のシェルスクリプトファイル(bbb.sh)の3行目に配置したいと考えています。 変数等使用するのかなーっと思いますが具体的にどのような形になるのかわかりません。 ご教授のほどお願いします。

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

  • ベストアンサー
noname#243622
noname#243622
回答No.1

エディタなどを使用しないで、コマンドラインで編集するようにしたいということでしょうか。 パスワードファイルの名前を "passwordfile" とすると、次のようにして出来ないでしょうか。(bbb.shが全体で100行の場合) --- $ head -n 2 bbb.sh > bbb.sh.tmp $ cat passwordfile >> bbb.sh.tmp $ tail -n 98 bbb.sh >> bbb.sh.tmp $ mv bbb.sh.tmp bbb.sh --- 中間ファイル(bbb.sh.tmp)を使用して、headとtailでファイルを分割して、その間にパスワードが書いてあるファイルの内容をはさんでいます。 その場限りで簡単にやりたければ、この程度でいいでしょう。 コマンドでbbb.shの行数を求める方法や、それから2を引く方法も存在します。その場合は、変数などを使います。

it2007
質問者

補足

なるほど。このような手法があるとはしりませんでした。 どうもありがとうございました。

関連するQ&A

  • シェルの中から他のシェルを呼び出す

    例えば、ひとつのシェルファイル( aaa.sh )の中に、 ------------------------- #!/usr/bin/csh set HOME=/home/test/tmp bbb.sh ------------------------- と記述した場合、bbb.shで変数$HOMEを使いたいと思いましたが、 使えないようです。(HOME: 未定義の変数と表示されます) どなたか、これ以外の方法で、このように シェルからほかのシェルを呼び出して、変数も引き継がれるような方法ご存知ないでしょうか? 多分こーやれば、こうなるかも!みたいなご回答でも結構ですので情報提供をお願いします。 どうぞ宜しくお願い致します。

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

    シェルスクリプトについて Linuxで先頭にスペースが入っている行をひとつ上の行につなげたいと考えています。 その場合、シェルスクリプトはどのように書けばよいかご教示願います。 【ファイル内容】 aaa △bbb ccc ddd (b行の先頭のみスペース(△)が入っています。) 【変換後のファイル】 aaa bbb ccc ddd

  • シェルスクリプトの引数について

    test.sh '*.c' といったコマンドを入力した時に、 シェルスクリプト内で引数$1を受け取ったときに$1='*.c'となるのではなく、 カレントディレクトリ内にある'*.c'の正規表現にマッチするファイルが入ってしまっています。 例)カレントディレクト内にaaa.cファイルbbb.cファイルといったファイルがある時は、 $1=aaa.c bbb.cとなっています。 '*.c'の正規表現自体をシェルスクリプト内で受け取る方法はないのでしょうか? シェルはbashを使用しています。

  • テキスト処理のシェルプログラム

    UNIXシェルもしくはPerlでテキスト処理のシェルスクリプト を作成したいのですがご教授お願いします 1000行あるテキストファイルを 2行単位で区切り2行単位で横一列へ置換しテキストへ出力したいのですが 例 処理前 aaa bbb ccc ddd eee fff 処理後 aaa,ccc,eee bbb,ddd,fff ご教授よろしくお願いします

  • shシェルでのファイル操作

    初心者です。 shシェルであるファイルの先頭行及び最終行を削除して別ファイル(新規)に書き出したいのですが、何か良い方法があれば教えてください。 (例) 元ファイル(AAA)の内容 1234567 aaaaaaa bbbbbbb ccccccc 7654321 削除後のファイル(BBB)の内容 aaaaaaa bbbbbbb ccccccc

  • Bシェルで配列を使いたいのですが・・・

    下記のBシェルファイルで、あるテキストファイルの内容を1行ずつ読み込んで、その行を変数に代入し、後続にてその変数を表示するという処理を実現したいのですが、うまくいきません。 どのようにすればうまく行くのかまた、何故うまくいかなかったのかをご教授頂ければと思っております。 宜しくお願い致します。 <Bシェルファイル> #!/bin/sh exec 3<&0 < TBL.txt count=0 while read line do ex$count=$line count=`expr $count + 1` done exec 0<&3 3<&- echo ${ex[1]} exit 0 <結果> aho.sh: ex0=A コマンドが見つかりません。 aho.sh: ex1=B コマンドが見つかりません。 aho.sh: ex2=C コマンドが見つかりません。 aho.sh: 置換が正しくありません

  • シェルでファイルから1行づつ読み出す。

    ファイルから1行づつ読み込んで 変数に格納する方法がわかりません。 具体的に言うと・・・ ユーザIDが詰まった(1行に一人分)ファイル user.txt を1行づつ読みこんでいき、 ユーザアカウントをチェックするプログラム user_chk に引数として渡して行きたいと思っています。 簡単だと思っていたのですが、 さっぱりわかりません。 Cシェルを使用していますが、 Bシェルでもかまいません。

  • 環境変数とシェル変数

    UNIXのシェルスクリプトで使用するシェル変数と環境変数とはどういった違いがあるのでしょうか?どのように使い分ける必要があるのでしょうか?また、このような使い方をすると間違いがおこりやすいといった具体的な例など教えていただければ助かります。

  • UNIX シェルスクリプト

    UNIXのシェルスクリプトを使用してテキストファイルのある列にある 特定の文字列を条件としてその行を出力するということをやりたいのですが どのようにすればできるでしょうか? 例えば,以下のようなテキストファイルがあって,2列目がYAHOOの行を 主力したいというようなことです。 AAA SOFTBANK BBB YAHOO YAHOO TEST CCC QUICK DDD YAHOO ↓ BBB YAHOO DDD YAHOO

  • ソラリス環境でcシェルが詳しい方は教えてください

    ソラリス環境でcシェルが詳しい方は教えてください 環境変数中に下記の変数が定義されてます。 LIB_HOME=/export/... あるファイル(bbb)に下記の行があります。 Dest=$LIB_HOME/aded/... 上記のファイル(bbb)上記の行を読み取って、 set aaa = `cat bbb | grep Dest` ... の処理で、最後に”$LIB_HOME/aded/...”の内容をdddの変数に格納してますが、 私がddd=/export/.../aded/...という形が欲しいですが、 なんかうまくいけません。ご存知の方がいらっしゃいましたら、是非お願いいたします。