,因此相当于已经跳到下一行了。你的程序上面那个,由于在awk中有多次getline,因此一开始把记录定位到第二行,即第一个文件,然后每调用一次"md5sum ""og:type" content="webpage">,因此相当于已经跳到下一行了。你的程序上面那个,由于在awk中有多次getline,因此一开始把记录定位到第二行,即第一个文件,然后每调用一次"md5sum "" /> ,因此相当于已经跳到下一行了。你的程序上面那个,由于在awk中有多次getline,因此一开始把记录定位到第二行,即第一个文件,然后每调用一次"md5sum ""> linux shell脚本攻略中,通过md5sum来查找出文件夹中的重复文件问题?_系统运维_内存溢出

阅读5

linux shell脚本攻略中,通过md5sum来查找出文件夹中的重复文件问题?,第1张

getline函数调用时,awk将会把下一条记录读入赋值给$0,因此相当于已经跳到下一行了。你的程序上面那个,由于在awk中有多次getline,因此一开始把记录定位到第二行,即第一个文件

,然后每调用一次"md5sum "name1 | getline记录就跳到了下一行,输出是不会重复的。

而下面的那个程序,没有多次getline调用,awk按行扫描,每次会把当前行的文件名赋值给name2,同时name1又记录了上一次的文件名,因此出现了test01两次,test02两次

事实上,输出和扫描行的对应关系是:

先在BEGIN段跳过两行,当前行为test,name赋值得到test

然后逐行扫描,当前扫描行是test01时, 输出了test test01

当前扫描行是test02时, 输出了 test01 test02

当前扫描行是test02时, 输出了 test02 test03

所以一共出现6行,中间有重复可以使用vim打开文件,然后通过 vim编辑 中的 /(向后查找)或者 ?(向前查找)来查找相应的字符串

示例:用vim打开/etc/passwd查找admin用户名

vim /etc/passwd

打开文件后,直接输入 /admin 回车即可查找如下图所示:

回车执行,vim查找到后,会标识出来,如下图所示:

另外:使用vim也可以打开可执行程序来查找字符串(在程序没有加壳或者使用其它字符串保护的前提下)。

示例:在test程序中查找hello字符串。

虽然使用vim打开二进制程序文件,显然的是乱码,但是明文字符串依然能查找到,如下图所示:

扩展:在Linux中如果要查找二进程文件即应用程序中的字符串,可以使用反汇编器、调试器等等,比如IDA,就提供强大的字符串查找功能。
grep-rnPo"test"/在根目录下开始查找所有文件,并打印出包含“test”字符的文件名称和行号如果文件过多,上面的命令会报参数过长,可以使用find+xargs,具体如下:find/-name"*"|xargsgrep-rnPo"test"切记:以上命令是测试的,不要直接在/下查找文件,否则会遍历整个Linux文件系统,如果内存不够大会卡死。

欢迎分享,转载请注明来源:

内存溢出

原文地址:

https://54852.com/yw/7391462.html
输出
(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
622848622848一级用户组
如何做好Linux服务器安全维护
上一篇
2023-04-05
linux系统下怎么连接网络
2023-04-05

发表评论
请登录后评论...
登录
提交

    评论列表(0条)
保存
{label}{label},因此相当于已经跳到下一行了。你的程序上面那个,由于在awk中有多次getline,因此一开始把记录定位到第二行,即第一个文件,然后每调用一次"md5sum "', author : '622848', cat_name : '系统运维', time_y_m : '2023年04月', time_d : '05', site_motto : '内存溢出' }; {script}{script}