Question: I have a list like this:

```
5678:robert dylan   :d.g.m. :marketing  :04/19/43 85000

```

I want to show only the name and designation of the person. I want to use `sed` for that. How should I do that?

Answer: 
Just thought I'd drop in the solution using `cut`

```
 cut -d ":" -f 2,4

```

produces: 

```
 robert dylan :marketing

```
Similar to [Lavon's approach](https://stackoverflow.com/a/11376656/438457), but adapted to multiple records

```
sed -n 's/:/\n/pg' file | sed -n '2~5h;4~5{H;g;s/\n/|/g;p}'

```

will produce 

```
robert dylan |marketing 
penny farthing |accident & emergency 
...

```

For input file 

```
5678:robert dylan :d.g.m. :marketing :04/19/43 85000
8076:penny farthing :d.g.m. :accident & emergency :04/19/43 85000
...

```

First replace `:` with `\n` new-line to get 5 lines per record; then 
for each set of 5 lines, copy the 2nd and append the 4th to the holding space, transfer to the pattern space, replace `\n` with a separator (in this case `|`) and print. (If you don't care about column order `{H;g;...` can be shortened to `{G;...`.)