ZKX's LAB

linux下文件的复制、移动与删除 linux 重复数据删除

2021-04-27知识3

LINUX中如何不经过排序删除文件中重复的行(相同行,只保留一个) 楼上 uniq必须是连续的重复才行把用awk肯定行这是一个cu的精华帖,差不多,对于你的问题你给稍等我修改一下。(ps感谢红袖添香大姐)CU精华 经典回顾假设我有如下文件:cat aa123 def1 456345 def2 812123 def3 563322 def4 684123 def5 879现在我想把第一列中字段相同的合并,第一列不相同的则保留,合并的原则就是保留第一个出现的前两个字段,第三个字段则把结果相加,以上面的示例为例:就是对于123开头的需要合并,合并后应该成为如下:cat aa123 def1 1898345 def2 812322 def4 684请问用shell如何实现?希望各位帮助!谢谢!要求总结:1 合并相同的第一列数据,并且计算第三列和2 第二列只保留第一次出现3 第一列顺序不变觉得这个问题很经典,所以从CU论坛转过来了。请大家一起学习我们站在巨人的肩膀上。问题补充:看不太懂实现可以讲一下思路吗?a[$1]+$3if(length(b[$1])=0)b[$1]=$2我是这样做的2谢谢你的补充,已经明白了你对split的适用技巧,是用split(a[$1],tmp)在碰到匹配的$1时取出以前的统计结然后再用$3加上以前的结果是吧,很巧妙。谢谢但是有2个问题:1不满足 第二列保留第一次出现记录(现在是保留最后一次出现)2不满足 。

如何快速删除Linux文件中的重复数据行 可以借助awk来实现,准备处理的文件是$filenameawk '{if(line[$0]=1){next;} else {print$0;line[$0]=1} }'<;(cat$(filename)>;$filename便可以实现每一行只出现一次,且顺序保持不变

Linux下,我想用shell 写一个重复文件删除脚本,我现在没有好的思想和逻辑去实现它,谁能给我出谋划策啊?它的功能是这样的:能够把某个目录下(主要是用户数据的备份目录)的。

随机阅读

qrcode
访问手机版