uniq

LINUX Shell 下求两个文件交集和差集的办法

南楼画角 提交于 2020-02-11 22:12:42
假设两个文件FILE1和FILE2用集合A和B表示,FILE1内容如下: a b c e d a FILE2内容如下: c d a c 基本上有两个方法,一个是comm命令,一个是grep命令。分别介绍如下: comm命令 , Compare sorted files FILE1 and FILE2 line by line. With no options, produce three-column output. Column one contains lines unique to FILE1, column two contains lines unique to FILE2, and column three contains lines common to both files. 要注意两个文件必须是排序和唯一(sorted and unique)的,默认输出为三列,第一列为是A-B,第二列B-A,第三列为A交B。 直接运行结果如下: $ comm a.txt b.txt a b c d a c e d a 仅仅排序: $ comm <(sort a.txt ) <(sort b.txt ) a a b c c d e 排序并且唯一: $ comm <(sort a.txt|uniq ) <(sort b.txt|uniq ) a b c d e 如果只想要交集

PTA天梯赛:L1-027 出租 (20分)简易代码

依然范特西╮ 提交于 2020-02-06 22:50:35
简单模拟,本题应该可以用set 我用的是unique函数,简单易懂 注意点 : string中的数字若和int类数组中的数做比较 应该-‘0’ # include <bits/stdc++.h> using namespace std ; typedef long long ll ; # define inf 0x3f3f3f int main ( void ) { ll uniq [ 20 ] ; ll index [ 20 ] ; string a ; cin >> a ; for ( ll i = 0 ; i < 11 ; i ++ ) { uniq [ i ] = a [ i ] - '0' ; } sort ( uniq , uniq + 11 , greater < ll > ( ) ) ; ll p = unique ( uniq , uniq + 11 ) - uniq ; //记录去重后数组的新长度 for ( ll i = 0 ; i < 11 ; i ++ ) { for ( ll j = 0 ; j < p ; j ++ ) { if ( a [ i ] - '0' == uniq [ j ] ) index [ i ] = j ; } } cout << "int[] arr = new int[]{" ; for ( ll i = 0 ; i < p ;

Linux查看机器是cpu是几核

自闭症网瘾萝莉.ら 提交于 2020-01-29 03:49:32
linux下查看机器是cpu是几核的 几个cpu more /proc/cpuinfo |grep "physical id"|uniq|wc -l 每个cpu是几核(假设cpu配置相同) more /proc/cpuinfo |grep "physical id"|grep "0"|wc -l cat /proc/cpuinfo | grep processor 1. 查看物理CPU的个数 #cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc -l 2. 查看逻辑CPU的个数 #cat /proc/cpuinfo |grep "processor"|wc -l 3. 查看CPU是几核 #cat /proc/cpuinfo |grep "cores"|uniq 4. 查看CPU的主频 #cat /proc/cpuinfo |grep MHz|uniq # uname -a Linux euis1 2.6.9-55.ELsmp #1 SMP Fri Apr 20 17:03:35 EDT 2007 i686 i686 i386 GNU/Linux (查看当前操作系统内核信息) # cat /etc/issue | grep Linux Red Hat Enterprise Linux AS release 4 (Nahant

25. Bash Shell - 文本处理:uniq、comm

浪尽此生 提交于 2020-01-24 09:19:09
开篇词 我们可以借助 Linux 提供的 uniq 、 comm 命令来去重或比较文件的内容。 非重复结果 我们为 uniq 命令准备一些重复的以及非重复的内容: echo 'I am duplicated' >> uniq_file.txt echo 'I am duplicated' >> uniq_file.txt echo 'I am duplicated' >> uniq_file.txt echo 'I am Duplicated' >> uniq_file.txt echo 'I am Duplicated' >> uniq_file.txt echo 'I am Duplicated' >> uniq_file.txt echo 'Line unique 1' >> uniq_file.txt echo 'Line unique 2' >> uniq_file.txt echo 'Line unique 3' >> uniq_file.txt 默认情况下, uniq 命令输出不包含其后的重复内容: uniq uniq_file.txt 重复内容 我们可以加入 -d 或 --repeated 参数来输出文件的重复内容: uniq -d uniq_file.txt uniq --repeated uniq_file.txt 非重复内容 我们可以加入 -u 或 -

shell命令--uniq

时间秒杀一切 提交于 2020-01-22 17:37:16
shell命令--uniq 0、uniq命令的专属图床 点此快速打开文章 【 图床_shell命令uniq 】 1、uniq命令的功能说明 ​ uniq 命令用于检查及删除文本文件中重复出现的行列,一般与 sort 命令结合使用。 uniq 可检查文本文件中重复出现的行列。 2、uniq命令的语法格式 SYNOPSIS uniq [OPTION]... [INPUT [OUTPUT]] 3、uniq命令的选项说明 -c或--count :在每列旁边显示该行重复出现的次数。 -d或--repeated :仅显示重复出现的行列。 -f或--skip-fields= :忽略比较指定的栏位。 -s或--skip-chars= :忽略比较指定的字符。 -u或--unique :仅显示出一次的行列。 -w或--check-chars= :指定要比较的字符。 --help :显示帮助。 --version :显示版本信息。 [输入文件] :指定已排序好的文本文件。如果不指定此项,则从标准读取数据; [输出文件] :指定输出的文件。如果不指定此选项,则将内容显示到标准输出设备(显示终端)。 4、uniq命令的实践操作 环境准备 cat >file1.txt <<'EOF' test 3 test 3 test 3 hello 1 linux 1 EOF cat >file2.txt <<'EOF'

linux 下查看机器是cpu是几核的

风格不统一 提交于 2020-01-22 11:06:14
几个cpu more /proc/cpuinfo |grep "physical id"|uniq|wc -l 每个cpu是几核(假设cpu配置相同) more /proc/cpuinfo |grep "physical id"|grep "0"|wc -l cat /proc/cpuinfo | grep processor 1. 查看物理CPU的个数 #cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc -l 2. 查看逻辑CPU的个数 #cat /proc/cpuinfo |grep "processor"|wc -l 3. 查看CPU是几核 #cat /proc/cpuinfo |grep "cores"|uniq 4. 查看CPU的主频 #cat /proc/cpuinfo |grep MHz|uniq # uname -a Linux euis1 2.6.9-55.ELsmp #1 SMP Fri Apr 20 17:03:35 EDT 2007 i686 i686 i386 GNU/Linux (查看当前操作系统内核信息) # cat /etc/issue | grep Linux Red Hat Enterprise Linux AS release 4 (Nahant Update 5)

Linux速查手册

99封情书 提交于 2020-01-20 10:45:49
文件相关 文件查看 文件操作 文件查找 压缩解压 内存进程 进程相关 系统信息 磁盘信息 日志相关 日志处理 其他 其他操作 toc 文件相关 文件查看 #显示隐藏文件 ls -al #显示包含数字的文件名和目录名 ls *[0-9]* #查看文件有多少行 wc -l filename cat xxx|wc -i #查看文件夹内的文件数目 ls -l | grep '^-' | wc -l #查看文件前10行 head -n 10 xxx.txt #从第3000行开始,显示1000行。即显示3000~3999行 cat filename | tail -n +3000 | head -n 1000 #显示1000行到3000行 cat filename| head -n 3000 | tail -n +1000 #查看当前文件夹大小 du -sh #统计当前文件夹(目录)大小,并按文件大小排序 du -sh * | sort -n #查看指定文件大小 du -sk filename #查找当前目录中的所有jar文件 ls -l | grep '.jar' 文件操作 #复制文件 cp source dest #递归复制整个文件夹 cp -r sourceFolder targetFolder cp -R /home/jenkins_home/. /var/html

linux去除文件空行

北城余情 提交于 2020-01-19 20:25:49
方法一:利用grep grep -v '^\s*$' test.txt > new_file 注:-v表示将匹配的结果进行反转,正则表达式匹配空行。(空行可包括空格符、制表符等空白字符) 方法二:利用sed sed '/^\s*$/d' test.txt > new_file 注:d代表删除该行 或者:sed -i '/^\s*$/d' test.txt 方法三:利用awk awk NF test.txt > new_file 注:NF代表当前行的字段数,空行的话字段数为0,被awk解释为假,因此不进行输出。 以上三种方式均可处理包含空白字符(空格符、制表符等)的空行。 方法四:若空行均由'\n'造成,则还可以利用tr命令去除空行 tr -s '\n' < test.txt > new_file 注:-s代表将多个连续的字符压缩成一个字符,这里是将多个'\n'压缩成一个'\n',达到去除空行的效果。方法四的缺陷:如果首行就出现空行的话则无法去除首行的空行。 相关拓展: 查看重复的行 sort -n test.txt | uniq -d 一、两个文件的交集,并集 1、取出两个文件的并集(重复的行只保留一份) cat file1 file2 | sort | uniq > file3 2、取出两个文件的交集(只留下同时存在于两个文件中的文件) cat file1 file2 |

linux 下查看机器是cpu是几核的

允我心安 提交于 2020-01-18 09:06:14
linux 下查看机器是cpu是几核的 几个cpu more /proc/cpuinfo |grep "physical id"|uniq|wc -l 每个cpu是几核(假设cpu配置相同) more /proc/cpuinfo |grep "physical id"|grep "0"|wc -l cat /proc/cpuinfo | grep processor 1. 查看物理CPU的个数 #cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc -l 2. 查看逻辑CPU的个数 #cat /proc/cpuinfo |grep "processor"|wc -l 3. 查看CPU是几核 #cat /proc/cpuinfo |grep "cores"|uniq 4. 查看CPU的主频 #cat /proc/cpuinfo |grep MHz|uniq # uname -a Linux euis1 2.6.9-55.ELsmp #1 SMP Fri Apr 20 17:03:35 EDT 2007 i686 i686 i386 GNU/Linux (查看当前操作系统内核信息) # cat /etc/issue | grep Linux Red Hat Enterprise Linux AS release 4 (Nahant

weblogic access.log日志常见分析

随声附和 提交于 2020-01-16 03:10:24
1,查看apache进程: ps aux | grep httpd | grep -v grep | wc -l // ps aux是显示所有进程和其状态。 2,查看80端口的tcp连接: netstat -tan | grep "ESTABLISHED" | grep ":80" | wc -l 3,通过日志查看当天ip连接数,过滤重复: cat access_log | grep "19/May/2011" | awk '{print $2}' | sort | uniq -c | sort -nr 4,当天ip连接数最高的ip都在干些什么(原来是蜘蛛): cat access_log | grep "19/May/2011:00" | grep "61.135.166.230" | awk '{print $7}' | sort | uniq -c | sort -nr | head -n 10 5,当天访问页面排前10的url: cat access_log | grep "19/May/2010:00" | awk '{print $7}' | sort | uniq -c | sort -nr | head -n 10 6,用tcpdump嗅探80端口的访问看看谁最高 tcpdump -i eth0 -tnn dst port 80 -c 1000 | awk -F".