打印出名字及头衔(employee实例)

打印出名字及头衔(employee实例)

Content #

现有emp.txt文件内容如下: John Doe CEO Jason Smith IT Manager Raj Reddy Sysadmin Anand Ram Developer Jane Miller Sales Manager

1.打印出所有"Manager"的名字及头衔,要求名字与头衔之间以":“分隔。

  • 使用H,x,h命令(bash/001_sed_Hxh.txt)
#!/bin/sed -nf
/Manager/!h
/Manager/{H;x;s/\n/:/;p}
  • 使用G,x,h命令
#!/bin/sed -nf
/Manager/!h
/Manager/{x;G;s/\n/:/;p}
  1. 打印出所有人的名字及头衔

用N命令来实现

sed -e '{N;s/\n/:/}' emp.txt
  1. 打印出所有"Manager"的名字
#!/bin/sed -nf
/Manager/!h
/Manager/{x;p}

或者:

#!/bin/sed -nf
x;n
/Manager/{x;p}

或者:

#!/bin/sed -nf
/Manager/!h
/Manager/{g;p}

或者:

sed -n '{N;/Manager/P}' emp.txt
  1. 打印出如下格式的内容,注意"Manager"前面带有”*“号

John Doe:CEO *Jason Smith:IT Manager Raj Reddy:Sysadmin Anand Ram:Developer *Jane Miller:Sales Manager

#!/bin/sed -nf
N
s/\n/:/
/Manager/!b end
s/^/*/
:end
p

From #