shell脚本练习(18)

题目:

有如下文本,其中前5行内容为
1111111:13443253456
2222222:13211222122
1111111:13643543544
3333333:12341243123
2222222:12123123123
用shell脚本处理后,按下面格式输出:
[1111111]
13443253456
13643543544
[2222222]
13211222122
12123123123
[3333333]
12341243123

思路:

  1. 先用sort cut uniq 排序冒号分割去重获取第一列内容
first=`sort -n $filename | cut -d: -f1 | uniq`
  1. 循环遍历,获取第一列是$i的,把第二列放入
for i in $first
do
    echo "[$i]"
    awk -F ':' '$1=='${i}' {print $2}' $filename
done

猜你喜欢

转载自blog.csdn.net/weixin_43490690/article/details/90172579