Linux伊甸园论坛 » Shell编程 » 如何删去重复行并保持顺序不变?
注册会员
荣誉版主
原帖由 dearvoid 于 2007-8-17 22:46 发表 此‘哎呀’何意?
查看个人网站
查看详细资料
TOP
clark
版主
Clark J. Wang
-(dearvoid@LinuxEden:Forum)-(~/tmp)- [4189 0] ; cat file I'm a student. You are a teacher. He is a farmer. He is a farmer. He is a farmer. We are workers. -(dearvoid@LinuxEden:Forum)-(~/tmp)- [4189 0] ; awk '!seen[$0]++ { print $0; }' file I'm a student. You are a teacher. He is a farmer. We are workers. -(dearvoid@LinuxEden:Forum)-(~/tmp)- [4189 0] ; bye
超级版主
-(dearvoid@LinuxEden:Forum)-(~/tmp)- [16167 0] ; cat file I'm a student. You are a teacher. He is a farmer. He is a farmer. He is a farmer. We are workers. -(dearvoid@LinuxEden:Forum)-(~/tmp)- [16167 0] ; cat file.sed #!/usr/bin/sed -nf :loop H x /\n\([^\n]*\)\n\([^\n]*\n\)*\1\($\|\n\)/ ! { x p bnext } s/\n[^\n]*$// x :next $q n bloop -(dearvoid@LinuxEden:Forum)-(~/tmp)- [16167 0] ; sed -nf file.sed file I'm a student. You are a teacher. He is a farmer. We are workers. -(dearvoid@LinuxEden:Forum)-(~/tmp)- [16167 0] ; bye
原帖由 zhuomingliang 于 2007-8-23 17:41 发表 够bt,我一点都看不懂,如果是我,我决定使用Perl
认证会员
注册用户
初来乍到
sed -n '$!N; /^\(.*\)\n\1$/b a P :a D' youfile