![]() |
Helloやアメリカ合衆国へようこそ! UNIXおよびLinuxフォーラム!訪問し、当社のグローバルコミュニティに参加いただきありがとうございます。
|
|
Googleのunix.com
|
|||||||
| シェルプログラミングとスクリプティング KSH 、 CSH 、 shに、 bashの、はPerl 、 PHPは、削除するsed 、 Awkの、他のシェルスクリプトやシェルスクリプト言語についての質問の投稿はこちら。 |
その他のUNIXおよびLinuxフォーラムトピックは参考にすること
|
||||
| スレッド | スレッドスターター | フォーラム | 返信 | 最後の投稿 |
| シェルスクリプトからデータベースのテーブルに、ユーザーが検索クエリに | 頂点 | シェルプログラミングとスクリプティング | 0 | 2009年4月10日 06:18午後 |
| 更新クエリをするかどうかが成功するとKshスクリプトを使用していないかを確認するには | ali560045 | シェルプログラミングとスクリプティング | 3 | 2009年1月7日 01:41午前 |
| を見つけ、ファイルのmtimeクエリ | Rajat | UNIXのダミー質問と回答のため | 1 | 2008年7月9日 08:12午前 |
| 検索クエリについての- exec | shriashishpatil | UNIXの詳細&エキスパートのためのユーザー | 2 | 2007年4月12日 02:16午前 |
| 見つける-パーマクエリ | napolayan | UNIXのダミー質問と回答のため | 1 | 2006年11月28日 02:28午後 |
![]() |
|
|
LinkBack | スレッドツール | このスレッドを検索 | スレッドを評価 | 表示モード |
|
|
|
||||
|
見つけて、クエリを置き換える
皆さんこんにちは、
私は複数の単語にマッチし、新しい言葉に置き換える検出するスクリプトを書いています。 私のように見えるファイルがserver.conf コード:
### Welcome to server ### ### Server address and port ### Server=127.0.0.1 ### Replace Server=0.0.0.0 ### ServerPort=0 ### Replace ServerPort=1 #### ### Enable Server ## Enable Server=1 ### Replace Enable Server=0 ### ### END OF FILE ## 私のコードには以下のように書かれている コード:
FILE="/opt/server.conf"
NEW_FILE="/opt/new_server.conf"
IFS=""
for line in `cat ${FILE}`; do
#echo ${line}
if [ -n "`echo ${line} | grep 'Server=127.0.0.1'`" ]
then
echo ${line} | sed 's|Server=127.0.0.1|Server=0.0.0.0|g' >>$NEW_FILE
elif [ -n "`echo ${line} | grep 'ServerPort=0'`" ]
then
echo ${line} | sed 's|ServerPort=0|ServerPort=1|g' >>$NEW_FILE
elif [ -n "`echo ${line} | grep 'Enable Server=1'`" ]
then
echo ${line} | sed 's|Enable Server=1|Enable Server=0|g' >>$NEW_FILE
else
echo ${line} >>$NEW_FILE
fi
done
私は自分のコードで間違ったのか分からない。 誰もこれを助けてくれますか? 事前に感謝 編集lightdensityで最終; 2009年5月26日に 01:14午後.. |
|
||||
|
引用:
コード:
FILE="/opt/server.conf"
NEW_FILE="/opt/new_server.conf"
IFS=""
for line in `cat ${FILE}`; do
#echo ${line}
if [ -n "`echo ${line} | grep 'Server=127.0.0.1'`" ] #grep command searches for right string
then
echo ${line} | sed 's|Server=127.0.0.1|Server=0.0.0.0|g' >>$NEW_FILE
elif [ -n "`echo ${line} | grep 'ServerPort=0'`" ]
then
echo ${line} | sed 's|ServerPort=0|ServerPort=1|g' >>$NEW_FILE
elif [ -n "`echo ${line} | grep 'Enable Server=1'`" ]
then
echo ${line} | sed 's|Enable Server=1|Enable Server=0|g' >>$NEW_FILE
else
echo ${line} >>$NEW_FILE
fi
done
ありがとう |
|
||||
|
引用:
どうすればよいので、設定 IFS社\u003d " \ Ñ \ T "を 私は推測するよりも、猫$するファイル、行毎に.. [ OK ]を! !私はそれを試す予定だ..一方あなた..私の残りのコードをチェックできるかどうかは自分のコードが正しいことを教えて下さい。 ありがとう ![]() |
|
||||
|
引用:
しかし、私はあなたを使用することをお勧めする必要がありますincase .. whileループは、代わりには、 catコマンドでループ。 コード:
FILE="/opt/server.conf"
NEW_FILE="/opt/new_server.conf"
while read line
do
#echo ${line}
if [ -n "`echo ${line} | grep 'Server=127.0.0.1'`" ] #grep command searches for right string
then
echo ${line} | sed 's|Server=127.0.0.1|Server=0.0.0.0|g' >>$NEW_FILE
elif [ -n "`echo ${line} | grep 'ServerPort=0'`" ]
then
echo ${line} | sed 's|ServerPort=0|ServerPort=1|g' >>$NEW_FILE
elif [ -n "`echo ${line} | grep 'Enable Server=1'`" ]
then
echo ${line} | sed 's|Enable Server=1|Enable Server=0|g' >>$NEW_FILE
else
echo ${line} >>$NEW_FILE
fi
done < $FILE
|
|
||||
|
引用:
あなたのソリューションを正常に動作...しかし私は今新たな問題に直面しアム...実際に私は私の完全な入力ファイルに記載されていない コード:
### Welcome to server ### ### Server address and port ### Server=127.0.0.1 ### Replace Server=0.0.0.0 ### ServerPort=0 ### Replace ServerPort=1 #### ### Enable Server ## Enable Server=1 ### Replace Enable Server=0 ### Enable Agent=1 Enable ip=1 ### Now I dont need to change above two options ### ### END OF FILE ## コード:
FILE="/opt/server.conf"
NEW_FILE="/opt/new_server.conf"
exec 0<$FILE
while read line
do
#echo ${line}
if [ -n "`echo ${line} | grep 'Server=127.0.0.1'`" ] #grep command searches for right string
then
echo ${line} | sed 's|Server=127.0.0.1|Server=0.0.0.0|g' >>$NEW_FILE
elif [ -n "`echo ${line} | grep 'ServerPort=0'`" ]
then
echo ${line} | sed 's|ServerPort=0|ServerPort=1|g' >>$NEW_FILE
elif [ -n "`echo ${line} | grep 'Enable Server=1'`" ]
then
echo ${line} | sed 's|Enable Server=1|Enable Server=0|g' >>$NEW_FILE
else
echo ${line} >>$NEW_FILE
fi
done < $FILE
コード:
Server=0.0.0.0 ServerPort=1 Enable Server=0 申し訳ありませんが私はあなたを悩またくさんいる... ありがとう ![]() |