0

こんにちは、行内の文字列を検索する必要がある xml ファイルがあります。存在する場合は、それを何かに置き換えて、次の文字列を検索し、それを必要な に置き換えます。私はこれを試しました

while read line
    do
    user=`echo $LINE |grep  "<?xml"`
    if [ $user == "<?xml" ]; then
      replace=utf-8
      user=`echo $LINE|sed "s/UTF-8/${replace}/"` >> $input_file
    fi
done

1 つの文字列のみをチェックし、残りの方法をチェックしています。

残りをチェックする方法も同様で、いくつかのチェックを行って交換します。

4

1 に答える 1

0

あなたの問題は、コマンドgの最後にフラグがないことだと思いますsed。状態もよくわかりませんif。以下は私の例です。

while read line
  do
  user=`echo $line |grep  "<?xml"`
  if [ -n "$user" ]; then
    replace="utf-8"
    user=`echo $line|sed "s/UTF-8/${replace}/g"`
    echo $user >> $input_file
  fi
done
于 2013-03-04T08:31:20.693 に答える