shell去重】的更多相关文章

sort命令可以对文本的内容进行排序 uniq命令可以对文本内容连续的内容进行去重,非连续的重复内容无法去重 sort 文件 | uniq 可以达到去除所有重复数据的目的(因为先排序了,这样相同的内容一定在连续的一片,再uniq) sort 文件 | uniq  等价于   sort -u 文件 所以最终的命令可以是: sort -u 文本 | wc -l 转载:https://blog.csdn.net/silviakafka/article/details/50388457…
sort -u 和 uniq都能起到删除重复信息的功能,那么他们的区别究竟在哪呢?$ cat test              jasonjasonjasonfffffjason 下面分别执行三个命令 1:sort -u test sort -u testfffffjason 2: uniq test $uniq test jasonfffffjason 3: sort test|uniq $sort test |uniq fffffjason 从上面三个命令我们很容易看出他们之间的区别.un…
group=`cat config.properties  |            grep -v "^$" |                 grep -v "^#" |                     awk -F "." '!($1 in a){a[$1];print $1}'` ll | awk '{print $3}' | sort |uniq -c | sort -rn…
1,合并+去重+分割 转载:shell 文件合并,去重,分割 - kakaisgood - 博客园 (cnblogs.com) 第一:两个文件的交集,并集前提条件:每个文件中不得有重复行1. 取出两个文件的并集(重复的行只保留一份)2. 取出两个文件的交集(只留下同时存在于两个文件中的文件)3. 删除交集,留下其他的行1. cat file1 file2 | sort | uniq > file32. cat file1 file2 | sort | uniq -d > file33. cat…
前面写过一篇通过shell脚本去重10G数据的文章,见<用几条shell命令快速去重10G数据>.然而今天又碰到另外一个业务,业务复杂度比上次的单纯去重要复杂很多.找了很久没有找到相应的办法,于是用shell脚本程序去处理.具体业务逻辑: 1.首先根据给定指定进行排序 2.排序后对给定字段进行去重,去重的规则如下: a)排序后如果相邻N行给定字段值相同的行数不超过两行,则两行都保留. a)排序后如果相邻N行给定字段值相同的行数超过两行,则保留首行和尾行. 就这样一个业务逻辑,其实看起来并不是太…
试想一下,如果有10G数据,或者更多:怎么才能够快速地去重呢?你会说将数据导入到数据库(mysql等)进行去重,或者用java写个程序进行去重,或者用Hadoop进行处理.如果是大量的数据要写入数据库也不是一件容易的事情,首先你需要开发一个程序将数据写入数据库,然后再用数据库的select distinct或者group by进行去重.如果是一次性的工作,这种方式显得就比较笨拙了.那么有没有更好的办法呢?下面记录一下我是怎么从10G数据里面迅速去重的.这里采用shell脚本的方式进行处理.如果您…
简单来说,这个技巧相应的是例如以下一种场景 假设有文本例如以下 cccc aaaa bbbb dddd bbbb cccc aaaa 如今须要对它进行去重处理.这个非常easy,sort -u就能够搞定,可是假设我希望保持文本原有的顺序.比方这里有两个aaaa,我仅仅是希望去掉第二个aaaa,而第一个aaaa在bbbb的前面.去重后仍旧要在它前面.所以我期望的输出结果是 cccc aaaa bbbb dddd 当然,这个问题本身并不难.用C++或python写起来都非常easy,但所谓杀机焉用牛…
vim 删除重复行 - 国内版 Binghttps://cn.bing.com/search?FORM=U227DF&PC=U227&q=vim+%E5%88%A0%E9%99%A4%E9%87%8D%E5%A4%8D%E8%A1%8C SHELL/VIM删除重复行(去重) - zjbzwhwhz的博客 - CSDN博客https://blog.csdn.net/zjbzwhwhz/article/details/53652740 $ cat info.txt | sort | uniq…
测试文件 [root@bogon ~]# cat >test jason jason jason fffffjason 按 Ctr + D保存 1.sort -u [root@bogon ~]# sort -u test fffff jason 2.uniq [root@bogon ~]# uniq test jason fffff jason 由此可见,uniq需要先排序后才能去重 3.sort.管道和uniq结合运用 去除重复并保留一份重复的数据 [root@bogon ~]# sort t…
目的:从日志access.log中,筛选出IP来,并统计每个IP出现的次数,然后显示出来. 因为:awk = 扒IP  shot = 排序  uniq =  去重 所以:awk '{print $1}' access.log | sort-n | uniq -c     例如: cat error.log |grep 111.111.111.111 | awk '{print $14}' | sort -n | uniq -c // 查询error.log 中出现过多少次的 111.111.11…
一条命令搞定:   awk '!a[$0]++' file 如果是第一次出现a[$0]++的值为0(假),而!a[$0]++的值就为1(真),之后就执行print $0 第二次或者两次以上的出现a[$0]++的值就为大于0的整数值(真),例如1,2,3...,而!a[$0]++的值就为0(假),之后就不执行print $0操作 awk '!($0 in a){a[$0];print $0}' pattern为!($0 in a),Action为{a[$0];print $0} 分析: 1.执行第…
sort -u 和 uniq都能起到删除重复信息的功能,那么他们的区别究竟在哪呢? $ cat test jason jason jason fffff jason 下面分别执行三个命令 :sort -u test sort -u test fffff jason : uniq test $uniq test jason fffff jason : sort test|uniq $sort test |uniq fffff jason 从上面三个命令我们很容易看出他们之间的区别.uniq所谓的重…
sort -u 和 uniq都能起到删除重复信息的功能,那么他们的区别究竟在哪呢?$ cat test              jasonjasonjasonfffffjason 下面分别执行三个命令 1:sort -u test sort -u testfffffjason 2: uniq test $uniq test jasonfffffjason 3: sort test|uniq $sort test |uniq fffffjason 从上面三个命令我们很容易看出他们之间的区别.un…
第一:两个文件的交集,并集前提条件:每个文件中不得有重复行1. 取出两个文件的并集(重复的行只保留一份)2. 取出两个文件的交集(只留下同时存在于两个文件中的文件)3. 删除交集,留下其他的行1. cat file1 file2 | sort | uniq > file32. cat file1 file2 | sort | uniq -d > file33. cat file1 file2 | sort | uniq -u > file3 第二:两个文件合并一个文件在上,一个文件在下c…
a文件为 a a a s s d .怎么把a文件变为 a s d .怎么把a文件变为 a a a s s d 解题方法如下: 解题思路 [root@localhost study]# awk 'NR==FNR{a[$2]++}NR!=FNR&&++b[$2]==1{print $1,$2,a[$2]}' a a1 a 34 s 26 d 1 NR=FNR处理第一个文件a----->  {a[$2]++} a[$2]++相当于a[$2]=a[$2]+1 a[a]=a[a]+1=0+1=…
作为一个linux的学徒,分享一下自己解决这个小问题的心得,在处理这个问题时使用了一个小技巧感觉很适用,个人发觉linux的终端真滴是非常强大,下面就详细地介绍这个问题以及解决办法吧 问题描述:由于要分析登录Ip所以有很多放有不同Ip的日志文件,首先要将所有log文件合并成一个log文件,并将每一个Ip最后一位修改为0,如,原IP为127.0.0.1,现Ip为127.0.0.0 解决方法:使用linux终端命令 1.先合并多个日志文件为一个日志文件:   cat test1.log test2.…
对于txt文本类数据,优先采用shell脚本,实在不行才用Python,Java,MySQL 1) Shell命令行或脚本的处理速度极快,比Java快得多. 2) Shell代码量少,几个命令就能完成Python几十行.Java上百行代码的工作,例如 $ cut -f 2 data.txt | sort | uniq -c | head -10000>result.txt这一行就完成了对切分出data.txt的第2列,然后对其排序,统计出各个行出现的次数,去重之后取出前10000行数据,并将这1…
最近利用shell帮公司优化挖掘关键词的流程,用shell替代了多个环节的操作,极大提高了工作效率. shell在文本处理上确有极大优势,比如多文本合并.去重等,但是最近遇到了一个难搞的问题,即两个大数据量文件去重. 有txt文件A.txt和B.txt. 其中A为关键词和搜索量,以逗号分隔,约90万行. B为关键词,约400万行. 需要从A中找出与B重复的关键词. 我试了N种姿势,但结果都不尽人意,最奇怪的是有些方法对小数据量的测试文件有用,一旦用在A与B上就会失败,真叫人百思不得其解. 姿势一…
具体思路如下,求代码 shell随机读取file.txt文本,file.txt文本有许多行文字 想用shell随机读取file.txt的任意一行文字并且写入到file.php第四行文件. sed -i -e "4s/.*/$(sort -R file.txt | head -1)/" file.php shell 排序去重问题 https://segmentfault.com/q/1010000000665713 shell的touch命令不能拼接路径吗 export mypath=/…
请把如下字符串 stu494 e222f stu495 bedf3 stu496 92236 stu497 49b91 转为如下形式: stu494=e222f stu495=bedf3 stu496=92236 stu497=49b91 题2: echo I am oldboy training,请把这个输出中的每个字符去重后排序,重复次数多的排到前面. 题3: 已知老男孩12月份将出版新书<跟老男孩学Linux运维:Shell高级编程实战>,下面是第8章的脚本名字,请对脚本名进行排序: 8…
1. 启动日志分析 启动日志格式如下: 开机时间:2015/05/13 周三 16:45:17.79 关机时间:2015/05/13 周三 18:46:03.91 开机时间:2015/05/14 周四 17:07:11.80 开机时间:2015/05/14 周四 17:09:34.68 关机时间:2015/05/14 周四 18:42:35.40 转换为导入 excel 的格式: 2015/05/13 16:45:17.79 18:46:03.91 2015/05/14 17:07:11.80…
shell日志分析常用命令总结 时间:2016-03-09 15:55:29来源:网络 导读:shell日志分析的常用命令,用于日志分析的shell脚本,统计日志中百度蜘蛛的抓取量.抓取最多的页面.抓取404错误页面的数量等.   shell日志分析常用命令 一,用于日志分析的shell脚本 1.在windows下的用户要使用shell命令符的话请先安装cygwin,安装方法自行google(搜技术问题请使用google,百度搜不到活该) 2.seo日志分析常用的命令符用法.less 文件名 查…
The poor starve while the rich feast. "穷人饥肠辘辘,富人大吃大喝" 参考资料:鸟哥的Linux私房菜 基础学习篇(第三版)  Linux Shell脚本攻略     Linux程序设计(第四版) 一.简易单词管理程序 简介: 本程序主要用于记录和查询英文单词信息,可能没有什么实际用途,也可能代码中有一些不太简洁的实现,主要是因为编写本程序的目的是为了熟练一下shell script编程的基础知识 功能: ①单词查询; ②单个单词导入词库; ③从文…
.巧用bash的{}扩展备份目录: cp file.txt{,.bak} .利用at执行一次性命令: echo "ls -l" | at midnight #Execute a command at a given time .kill - 或者 kill -HUP 一般用来重新读取配置文件:(一般程序自己实现的) HUP 其实就是给个信号,你的程序可以根据这个信号做一些事情,比如reload进程,或者是rotota日志.例如 squid.Nginx.xinetd. kill就是发送一…
shell学习笔记 .查看/etc/shells,看看有几个可用的Shell . 曾经用过的命令存在.bash_history中,但是~/.bash_history记录的是前一次登录前记录的所有指令,成功登出后,才存到 .bash_history中. .man bash查看bash说明文件. .echo $ .变量的设定中,单引号与双引号的不同:双引号仍然可以保留变量的内容,单引号内只能是一般字符,不会有特殊符号. .反单引号`符号:在一串指令中,在`之内的指令都会被先执行,而其执行出来的结果将…
由于项目中很少使用到shell脚本所以.只是偶尔自学一点.慢慢积累.下面就把近段时间积累的发出来.学习. #sort sort 按首字母排序 sort -n 按数字大小 从小到大排序 sort -rn 按数字大小 从大到小排序 demo: sort -n test.txt | uniq - c 一般和uniq组合使用 去重在计组数 who 当前有多少用户同时登录 linux系统 正则表达式 ?代表0个或者一个前置字符 K?代表零个或一个K字符 + 代表1个或者多个前置字符 K+ 代表一个或多个K…
关于shell脚本的基本语法 整理于:2014-03-31,何俭飞,mymladdr@sina.com 一.执行 1.shell脚本如果要被执行,一般地必须要有执行权限"x"(除了使用特殊的执行方式不需要外) 2.shell脚本执行的方式有以下几种: ①--参数式执行1:/bin/sh createFiles.sh(不需要x权限),简写为"sh createFiles.sh" ②--参数式执行2:/bin/bash createFiles.sh(不需要x权限),简写…
课程大纲: 1. shell特性 命令历史 history !!  !$  !n  !字符 Tab 键可以补全文件路径或者命令 alias  a=“b”  unalias a 通配符 *匹配零个或多个字符 ?匹配一个字符 输入输出重定向 >, >>,  <,  2>, 2>> 管道符 | 作业控制 ctrl+z, jobs,  fg,  bg 2. 变量 系统变量名都是大写,echo 可以查看变量名 env 可以列出当前用户的所有环境变量以及用户自定义全局变量 s…
1.什么是正则 正则就是用一些具有特殊含义的符号组合到一起(称为正则表达式)来描述字符或者字符串的方法.或者说:正则就是用来描述一类事物的规则. 生活中处处都是正则: 比如我们描述:4条腿 你可能会想到的是四条腿的动物或者桌子,椅子等 继续描述:4条腿,活的 就只剩下四条腿的动物这一类了 在linux中,通配符是由shell解释的,而正则表达式则是由命令解释的,下面我们就为大家介绍三种文本处理工具/命令:grep.sed.awk,它们三者均可以解释正则. 2.grep 参数 -n 显示行号 -o…
shell企业面试题 1.批量创建带有随机小写字符文件程序 使用for循环在/pizza目录下创建10个html文件,其中每个文件包含10个随机小写字母加固定字母_pizza 1.思路分析: 核心是:创建10个随机小写字母 第一种:$RANDOM [root@web- /server/scripts]# echo $RANDOM 范围0- ,第一个容易被破解,使用的时候最好再加个字符串 第二种:openssl rand -base64 10 [root@web- /server/scripts]…