
如果是WIN下的文件,注意先转换换行符号!!!
先对文件进行排序去重复:sort filename1 |uniq>filename1-sorted
然后对第2个文件也排序去重复并管道使用comm 找出符合你要求的:
共同拥有的行:sort filename2|uniq|comm -12 - filename1-sorted>共同拥有的
文件 filename1-sorted独有的: sort filename2|uniq|comm -13 - filename1-sorted>filename1-sorted独有
文件 filename2独有的: sort filename2|uniq|comm -23 - filename1-sorted>filename2独有。
赶紧给分,哈哈!
用comm相对比较简单,也可以用 awk做:
共同拥有的:
gakw 'ARGIND==1{a[$1]=$1} ARGIND>1{if(a[$1]!="") print $0}' file1 file2>共同拥有
gakw 'ARGIND==1{a[$1]=$1} ARGIND>1{if(a[$1]=="") print $0}' file1 file2>file2独有
gakw 'ARGIND==1{a[$1]=$1} ARGIND>1{if(a[$1]=="") print $0}' file2 file1>file1独有
可以使用vim打开文件,然后通过 vim编辑 中的 /(向后查找)或者 ?(向前查找)来查找相应的字符串。示例:用vim打开/etc/passwd查找admin用户名
vim /etc/passwd
打开文件后,直接输入 /admin 回车即可查找如下图所示:
回车执行,vim查找到后,会标识出来,如下图所示:
另外:使用vim也可以打开可执行程序来查找字符串(在程序没有加壳或者使用其它字符串保护的前提下)。
示例:在test程序中查找hello字符串。
虽然使用vim打开二进制程序文件,显然的是乱码,但是明文字符串依然能查找到,如下图所示:
扩展:在Linux中如果要查找二进程文件即应用程序中的字符串,可以使用反汇编器、调试器等等,比如IDA,就提供强大的字符串查找功能。
1. gawk 'ARGIND==1{a[$1]=$1} ARGIND==2{if(a[$1]!="") print $1}' a.txt b.txt|gawk 'ARGIND==1{a[$1]=$1} ARGIND==2{if(a[$1]!="") print $1}' - c.txt2.grep -Ff a.txt b.txt|grep -Ff - c.txt
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)