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

初学shell编程_通讯录程序_grep函数与sed函数

    来源: 互联网  发布时间:2016-11-22

    本文导语:    本人初学shell编程(bash),要写一个电话本的小程序(实现姓名、电话号码、地址这些记录的添加、查找、删除等功能)。遇到了一些问题,主要就是grep函数和sed函数的使用请大侠指教。 比如在a.txt的文件中有如下...

  本人初学shell编程(bash),要写一个电话本的小程序(实现姓名、电话号码、地址这些记录的添加、查找、删除等功能)。遇到了一些问题,主要就是grep函数和sed函数的使用请大侠指教。
比如在a.txt的文件中有如下记录:
aaa  12897654567 beijing
aa 15098765432 nanjing
john 87654321d
csdn上和别的网上也有类似的代码(http://topic.csdn.net/u/20100814/00/FB26CB40-7096-4C46-87C8-A247F58AB735.html),但都存在跟我一样的问题:
 1.查找。比如查找关键字为 "aa",那么查找结果会把aa 与aaa 这两个记录都列出来。
我的查找代码如下。请问该怎样改呢?
function search
{
 echo  "
请输入要查询的姓名(或电话号码、地址):" 
     read searchname 

   UserName=`grep  "$searchname>" a.txt`     if [ "$UserName" = "" ]
  then
    echo "
没有要查询的记录 "
     else
echo  "$UserName"
fi
 }
2.删除时也遇到了类似的问题。
代码如下:
function delete
{
echo  "
请输入要删除的记录的姓名(或者 地址 电话号码都行)"
read delete

result=`grep $delete data_hyb`
if [ "$result" = "" ];
   then
echo "没有找到要删除的记录"
else
    sed "/$delete/d" data_hyb>mytemp
    mv mytemp a.txt
    echo "删除记录成功"
fi
}
3.如果想要对记录按照手机号排序,该怎么做呢?我才看了半天的shell,纯新手,请说详细一点。
4.话虽多,但都是很基础的问题。麻烦大家了。如果回答得好还有加分。

|
1.UserName=`grep "$searchname>" a.txt`
-------------------------------------------
UserName=`awk '{if($1 ~ /^'"$username"'$/) print $1}' a.txt`
如果你看不清里边的引号情况(单双$username双淡) 你直接复制

2.sed "/$delete/d" data_hyb>mytemp
------------------------
sed "/^$delete /d" data_hyb>mytemp
其实你可以直接修改data_hyb 不用用mytemp也行 加-i参数直接在源文件里修改
sed -i "/^$delete /d" data_hyb

3.如果想要对记录按照手机号排序,该怎么做呢?我才看了半天的shell,纯新手,请说详细一点。
--------------
先去研究一下sort


    
 
 

您可能感兴趣的文章:

  • 初学Unix,问:标准级函数,如fopen,fclose;系统级函数open,close,两者什么关系?(在一篇讲文件操作的文章中看到的)
  • 初学者问题:标准的sql里有处理日期的函数吗?
  • 初学者小问:read(file,buf,size)函数在读取文件时,file会不会自动增加?
  • 初学者的问题--关于构造函数
  • 初学:请教下linux编程时怎样方便查找函数原型和结构体的
  • APUE初学者:请问dup,dup2函数可以用来干什么?有什么好处?
  • 初学者四个问题:开发环境,同步机制,查函数帮助,查数据结构
  • java中有没有这样的函数就是判断一个字符串里面是不是含有另外一个字符串!例如 abcdef 里面查找是不是含有de谢谢了~初学者
  • 初学者:一个函数参数的问题,请大家帮忙!
  • 初学操作系统,对于fork()函数有多处不理解,拜求大家赐教
  • 一个函数构思问题,大家指教。谢谢,初学。
  • linux socket sendto( )函数问题,初学,大家指点!
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 初学 java 的朋友来和我交朋友,我也是初学。我的 QQ 号是 33555085
  • 又一个初学者的困惑!如果您是个大虾,请你一定要进来看看,指点迷津!如果您也是个初学者,那么您也一定要进来,也许我们有一样的遭遇!
  • 初学者的问题我是linux初学者,我想问一下在windows里下载的大于1.44M文件如何转移到linux分区里?
  • 我是个初学者,希望指点明津
  • 初学者用什么工具好?JBUILDER?JDK?
  • 对于初学者应该看什么样的java书籍
  • 初学java应该看那些书?
  • 初学linux看哪本书好?
  • 初学java,该看那些书,请朋友们指教
  • 我是初学者,该用什么java的“编译器”????
  • 初学java什么书好?
  • 对于初学者应该看什么样的书
  • 初学者:不是问题的问题?
  • javascript开源软件 iis7站长之家
  • 初学JAVA,用哪个软件来调试和编译程序?
  • 初学者的问题??在线等待。
  • 各位高手大家好,我是初学LINUX想请教几个问题
  • 初学者的疑问
  • 从初学Linux到内核开发
  • 初学java的话,从何入手呢?vj++,还是jbuilder?


  • 站内导航:


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

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

    浙ICP备11055608号-3