shell取出多列文件中某一列重复的数据
生活随笔
收集整理的這篇文章主要介紹了
shell取出多列文件中某一列重复的数据
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文件內容的格式是:
1 張三
2 李四
3 張三
第二列有重復數據,去重的腳本如下:
#!/bin/bashsort -t\t -k2 File.txt | awk -F'\t' '{ if($2 == VALUE) {} else if($2 != VALUE) {VALUE = $2;print $0;} }' > target.txt sort -t\t -k1 target.txt > result.txt rm target.txt?
首先將第二列進行排序:?sort -t\t -k2 File.txt
然后if($2 == VALUE) {}判斷 第一列是否與變量 VALUE相等 ?(不必要擔心 VALUE變量的值 在初始化時 awk 為 VALUE賦值 為""),如果相等什么多不做。
else if($2 != VALUE) {VALUE = $2;print $0;} 如果 一列不等于VALUE變量的值將$2賦值為VALUE然后打印這行數據,然后進行下一行 比較 下一行數據與上一行數據的VALUE是否相等相等什么都不敢也就是說
不打印著一行 如果不相等則打印著一行 從而起到去除重復數據的作用
轉載于:https://www.cnblogs.com/pigerhan/archive/2012/09/25/2702106.html
總結
以上是生活随笔為你收集整理的shell取出多列文件中某一列重复的数据的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 将excel用VBA生成指定格式的TXT
- 下一篇: oracle 11g 数据库