当前位置:  技术问答>linux和unix

替换函数求解

    来源: 互联网  发布时间:2016-08-28

    本文导语:  我想写个简单的替换函数。 替换的文件为database.ini 内容如下 [Database] Address="localhost" Login="root" Password="123" Database="nl_receive" Connections="10" EncryptPassword="no" 我的函数很简单,就向想把字段替换掉 我的函数为: vi sed.sh...

我想写个简单的替换函数。
替换的文件为database.ini 内容如下
[Database]
Address="localhost"
Login="root"
Password="123"
Database="nl_receive"
Connections="10"
EncryptPassword="no"

我的函数很简单,就向想把字段替换掉

我的函数为:
vi sed.sh 
sed()
{
if [ $# -ge 3 ]
then
sed -i 's/$2/$3/g' $1
else
echo "you config errror! "
fi
}

[root@localhost ~]# ./sed.sh database.ini nl_receive aaa 运行的时候没把字段改过来,不知道是怎么回事


|



#!/bin/sh
#add key=value
add()
{
addfile=$1
echo $queryfile
echo "Please input key and vlaue like key=value:"
while read add_key
do
#key_value is not null and can not be start with "#"
if [ -n "$add_key" ]
then
suffix=`echo "$add_key" | cut -d= -f2`
prefix=`echo "$add_key" | cut -d= -f1`
if [ ${add_key%=*} = "$prefix" -a ${add_key#*=} = "$suffix" ]
then
count=`cut -d= -f1 $addfile | grep -w $(echo $add_key | cut -d= -f1) | wc -l`
echo "count : $count"
if [ "$count" -gt 0 ]
then
echo "the $add_key is exist!"
echo "add $add_key to $addfile falid!"
break;
else
echo "$add_key" >> $addfile
echo "add $add_key to $addfile successful!"
break;
fi
else
echo "${add_key} format is error"
exit 3;
fi
fi

done

}
#update key=value
update()
{
updatefile=$1
echo "Please input key and vlaue like key=value:"
while read update_key
do
#key_value is not null and can not be start with "#"
if [ -n "$update_key" ]
then
prefix=`echo "$update_key" | cut -d= -f1`
# echo "prefix is $prefix"
suffix=`echo "$update_key" | cut -d= -f2`
# echo "suffix is $suffix"
prefix=`echo "$update_key" | cut -d= -f1`

# echo ${update_key%=*}
# echo ${update_key#*=}
if [ ${update_key%=*} = "$prefix" -a ${update_key#*=} = "$suffix" ]
then
count=`cut -d= -f1 $updatefile | grep -w $prefix | wc -l`
echo "count : $count"
if [ "$count" -gt 0  -a "$count" -eq 1 ]
then
sed 's/("$prefix")=[0-9a-zA-Z]*/1="${suffix}"/g'  $updatefile$$
mv $updatefile$$ $updatefile
echo "Update $updatefile successful!"
break;
else
echo "$updatefile has no entry for $update_key or 
too more entryin $updatefile!"
break;
fi
else
echo "${update_key} format is error"
break;
fi
fi

done

}
#del key=value
del()
{
delfile=$1
echo 'Please input the key for delete:'
while read query_key
do
if [ -n "$query_key" ]
then
echo "The query resut is:"
cat $delfile | grep -v -w $query_key > $delfile$$
mv  $delfile$$ $delfile
echo "Delete $key successful!"
break;
fi
done 
}
#query key=value
query()
{
queryfile=$1
echo $queryfile
echo 'Please input the key for query:'
while read query_key
do
if [ -n "$query_key" ]
then
echo "The query resut is:"
cut -d= -f1,2 $queryfile | grep -w $query_key
break;
else 
echo "Please input the key for query:"
fi
done 
}


#args check
check ()
{
file=$1
#check the operation file
if [ -f "$file" -a -e "$file" ]
then
:
else
echo "$file is a normal file or $file is not exsit !"
exit 2;
fi
#check the operation file's format,the format should be 'key=value'
while read key_value 
do
#key_value is not null and can not be start with "#"
if [ -n "$key_value" -a "X${key_value%%#*}" != "X" ]
then
# echo "key_value is $key_value"
suffix=`echo "$key_value" | cut -d= -f2`
# echo "suffix is $suffix"
prefix=`echo "$key_value" | cut -d= -f1`
# echo "prefix is $prefix"
if [ ${key_value%=*} = "$prefix" -a ${key_value#*=} = "$suffix" ]
then
:
else
echo "${key_value} format is error"
exit 3;
fi
fi
done 

    
 
 

您可能感兴趣的文章:

  • jsp 里面的 特殊字符“单引号”“双引号”的替换??(高分求解)
  • PHP字符串替换函数 可同时替换多个关键词
  • 基于C++字符串替换函数的使用详解
  • 字符替换函数的错误---------急! 就5行代码竟然有错误....
  • ASP正则函数替换分页后的参数
  • ASP 正则函数替换分页后的参数
  • php替换html内容的小函数
  • 怎样用c的函数写出文本文件中的查找和替换功能?不会要重新写一边文件吧?
  • 请问Java中的替换函数
  • Java中字符串替换的函数是什么?急用!!!!!!
  • 上次的问题没解决,请问jsp的替换函数是什么
  • JSP中的字符替换函数 str_replace() 实现!
  • sqlserver replace函数 批量替换数据库中指定字段内指定字符串参考方法
  • replace MYSQL字符替换函数sql语句分享(正则判断)
  • 求教一个实现字符串替换的小函数
  • SQL Server正则表达式 替换函数应用详解
  • php 字符串替换函数学习
  • MySQL replace函数替换字符串语句的用法
  • 请问jsp的替换函数是什么?就如同ASP的replace()
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • C++ Strings(字符串) 成员 replace():替换字符
  • 在 vi 中要替换第2列中的所有字符, 应该如何写替换代码呢?
  • Docker官方镜像将会使用Alpine Linux替换Ubuntu
  • 用gsub进行字符串替换,怎么替换字符'.'?
  • Python通过正则表达式获取,去除(过滤)或者替换HTML标签的几种方法
  • 替换字符问题,如果将"" 替换程"\"或"/" ???(急)
  • 求助:对批量文件中的指定字符串进行替换:(批量替换)
  • mysql查询字符串替换语句小结(数据库字符串替换)
  • EditPlus 正则替换图片ubb替换成img
  • 正则替换换行符和把 br 替换成换行符
  • PHP替换字符串(只替换首个字符串)
  • MSSQL批量替换语句 在SQL SERVER中批量替换字符串的方法
  • 字符串替换Replace仅替换第一个字符串匹配项
  • asp 图片正则 替换,替换前检查图片是不是本地地址的方法
  • VI中的批量替换的方法
  • python实现文件名批量替换和内容替换
  • MYSQL 批量替换之replace语法的使用详解
  • 在线等待,用sed命令如何替换整行?
  • VI编辑器有逐个询问替换的功能吗?
  • 帮忙写一行命令,替换的
  • 向vim高手问个替换问题


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3