如何输出第二列相同的行

文本格式如下,以“|”作为分隔符

10999201508261233197418182901054|63a96a66ba024913aa1c0d377cf95fb4||20150826|aa
10999201508261233197418182901054|63a96a66ba024913aa1c0d377cf95fb3||20150826|bb

如何输出第二列相同的行,即如果第二列的值已存在,则输出该行的值。

脚本如下:

复制代码
#!/bin/bash
i=0
a[0]=""
while read line
do
   newline=`echo $line |cut -d"|" -f2`
   for(( j=0;j<=$i;j++ ))
   do
      if [ "${a[$j]}" = "$newline" ];then
          echo $line
      fi
   done
   if [ $[$i+1] -eq $j ];then
      i=$[$i+1]
      a[$i]=$newline
   fi
done < 1.txt
复制代码

关键是数组的运用

posted @   iVictor  阅读(419)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
点击右上角即可分享
微信分享提示