The UNIX and Linux Forums  

Go Back   UNIXおよびLinuxフォーラム > トップフォーラム > シェルプログラミングとスクリプティング
Googleのunix.com



シェルプログラミングとスクリプティング KSH 、 CSH 、 shに、 bashの、はPerl 、 PHPは、削除するsed 、 Awkの、他のシェルスクリプトやシェルスクリプト言語についての質問の投稿はこちら。

その他のUNIXおよびLinuxフォーラムトピックは参考にすること
スレッド スレッドスターター フォーラム 返信 最後の投稿
検索と置換 NycUnxer UNIXのダミー質問と回答のため 4 2008年3月6日 12:20午前
交換して下さい dbsurf シェルプログラミングとスクリプティング 2 2008年1月25日 08:39午前
検索と置換 mahabunta UNIXのダミー質問と回答のため 7 2006年9月21日 01:05午後
検索と置換 vikas_j @ホットメール UNIXのダミー質問と回答のため 3 2002年2月25日 05:41午後
検索と置換 gagansharma シェルプログラミングとスクリプティング 3 2001年11月27日 04:17午後

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek を搭載 Powered by Google
 
LinkBack スレッドツール このスレッドを検索 スレッドを評価 表示モード
  #1固定リンク)  
Old 2009年5月27日
allrise123 allrise123 is offline
登録ユーザー
  
 

参加日: 2009年5月
投稿数: 9
見つけて、問題を置き換える

こんにちはみんな!

私は、私はユーザからの入力を取得して、ファイルにそれを見つけて置換するスクリプトを書いています。
私の入力ファイルのようになります。

コード:
hi
what your name?
allrise

自分のコードに見えます。

コード:
echo "Enter the name"
read name
FILE="/opt/name.txt"
NEW_FILE="/opt/new_name.txt"
exec 0<$FILE
    while read line
    do
     if [ -n "`echo ${line} | grep 'allrise'`" ]
     then
              echo ${line} | sed 's|allrise|hello $name|g' >>$NEW_FILE
     else
             echo $line >>$NEW_FILE
     fi
     done <$FILE

私は自分のスクリプトを実行するとき、私は名前を聞く私は"ジョン" ...を与えたと仮定が、出力は以下のようになる

コード:
hi
what your name?
hello $name

そのためには、誰がどのようにすべきであることを説明する適切な出力を得ることができます。

コード:
hi
what your name?
hello john

  #2固定リンク)  
Old 2009年5月27日
cfajohnson's Avatar
cfajohnson cfajohnson is offline Forum Advisor  
シェルプログラマは、著者
  
 

参加日: 2007年3月
場所:トロント、カナダ
投稿数: 2378
引用:
当初の投稿 allrise123 View Post
こんにちはみんな!

私は、私はユーザからの入力を取得して、ファイルにそれを見つけて置換するスクリプトを書いています。
私の入力ファイルのようになります。

コード:
hi
what your name?
allrise

自分のコードに見えます。

コード:
echo "Enter the name"
read name
FILE="/opt/name.txt"
NEW_FILE="/opt/new_name.txt"
exec 0<$FILE
    while read line
    do
     if [ -n "`echo ${line} | grep 'allrise'`" ]
     then
              echo ${line} | sed 's|allrise|hello $name|g' >>$NEW_FILE

変数を1つの引用符の中に展開されていません。二重引用符を使用する:


コード:
echo ${line} | sed "s|allrise|hello $name|g" >>$NEW_FILE

引用:

コード:
     else
             echo $line >>$NEW_FILE
     fi
     done <$FILE

私は自分のスクリプトを実行するとき、私は名前を聞く私は"ジョン" ...を与えたと仮定が、出力は以下のようになる

コード:
hi
what your name?
hello $name

そのためには、誰がどのようにすべきであることを説明する適切な出力を得ることができます。

コード:
hi
what your name?
hello john

誰にしない:


コード:
sed "s/allrise/hello $name/" "$FILE" > "$NEWFILE"

は、ループの必要はない。
  #3固定リンク)  
Old 2009年5月27日
allrise123 allrise123 is offline
登録ユーザー
  
 

参加日: 2009年5月
投稿数: 9
返事をお寄せいただきありがとうございます..

実際にこれが私の実際のファイルではありません...このクエリを聞いて私のダミーファイルを作成しただけです...とにかく私はあなたの提案を試みる..
  #4固定リンク)  
Old 2009年6月6日
otheus's Avatar
otheus otheus is offline Forum Staff  
モデレータ翼モード
  
 

参加日: 2007年2月
場所:インスブルック、オーストリア
投稿数: 1,893
重複の 見つけて、クエリを置き換える

( )人形靴下
Closed Thread

ブックマーク

スレッドツール このスレッドを検索
このスレッドを検索

高度な検索
表示モード このスレッド
このスレッド

投稿ルール
あなた ことができない。 新しいスレッドを投稿
あなた ことができない。 返信の投稿
あなた ことができない。 添付ファイルの投稿
あなた ことができない。 自分の投稿を編集

BBコード なる 〜の上に
スマイリー なる 〜の上に
[イメージ] コードは 〜の上に
HTMLコードは、 オフ
トラックバック なる 〜の上に
ピングバック なる 〜の上に
Refbacks なる 〜の上に




すべてGMT -4です。現在の時刻は 06:52午後


提供: vBulletin、著作権© 2000 - 2006、Jelsoft企業株式会社。言語翻訳による電源
vBCredits v1.4著作権© 2007 - 2008 、 PixelFXスタジオ
は、 UNIXおよびLinuxフォーラムのコンテンツ著作権© 1993 〜 2009 。すべての権利を管理しReserved.Ad RedTyger

コンテンツ関連のURLで vBSEO 3.2.0