日期:2014-05-16  浏览次数:20686 次

还是这个问题,还有一点需要请教一下各位
user.txt的文件内容如下:
id:1
name:aaa
age:33
sex:1

id:2
name:hhh
age:34
sex:0

id:3
name:fff
age:35
sex:1

user.txt中的内容用空白行分隔,现在想用shell脚本写一个删除用户信息的程序,删除时需要输入要删除的那个用户的id。请问如何实现啊?

------解决方案--------------------
运行脚本./sh id:2
Perl code

  1 #!/bin/sh
  2 
  3 del_id="$1"
  4 
  5 line_num=`grep -n "$del_id" 1.txt | cut -c1`
  6 line_end=$((line_num+3))
  7 
  8 sed  "$line_num,${line_end}d" 1.txt > new.txt