用于多个字符串多行的shell脚本

时间:2013-03-04 07:33:57

标签: shell

嗨我有一个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 个答案:

答案 0 :(得分: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
相关问题