现在有一个已经根据文件第一列排序后的文件。文件格式如下: aaa\t123455....... aaa\tfadfad......... bbb\t34445............ 现在想根据文件第一列去重。忽略后面的。 第一列相同,后面几列不相同,文件不定长,第1列不定长。文件列数很多,根据\t分割。 想问下有没有shell命令可以直接做到,省的写脚本。
求教各位大大: --------------------------------------- /data01/file_a 10240 pc1 /data01/file_b 20480 pc1 /data02/file_c 10240 pc2 /data02/file_d 10240 pc2 /data03/file_a 20480 pc3 /data04/file_d 10240 pc3 如上,有一个数据目录的统计文件,文件格式如上所示(是该统计文件其中的一小部分):第一行是目录名 ,第二行是目录占用空间大小,第三行是机器名。现在需要统计各目录在各机器下共占用空间。即,有相同 目...
大家好! 我有这样的一些分时间段的日志文件,想把这些文件按照时间排序,请问shell如何实现? XXXX.0-1.YYYY XXXX.1-2.YYYY XXXX.10-11.YYYY XXXX.11-12.YYYY XXXX.12-13.YYYY XXXX.13-14.YYYY XXXX.14-15.YYYY XXXX.15-16.YYYY XXXX.16-17.YYYY XXXX.17-18.YYYY XXXX.2-3.YYYY XXXX.3-4.YYYY XXXX.4-5.YYYY XXXX.5-6.YYYY XXXX.6-7.YYYY XXXX.7-8.YYYY XXXX.8-9.YYYY XXXX.9-10.YYYY 排序后: XXXX.0-1.YYYY XXXX.1-2.YYYY XXXX...
我有一系列文件在文件夹 /test目录下 file1_sc.txt file2_cd.txt file5_ss.txt file8_ab.txt file15_cc.txt 现在我需要循环处理这些文件,但是需要按照file字串后的数字进行顺序处理,该如何写这个循环? 大概如下,echo表示处理该文件 for file in `ls /test` do echo $file done
假如文件夹中有许多这样的文件: data1.dat: author:aaa id:123 hobby:game ..... ..... 文件夹中这样格式的文件有很多很多,如data2.dat,kfd.dat,kfdfkdf.dat,5fdf45.dat.....,文件名没有规律。现在如何能够实现文件夹中的文件按照每个文件内容中id进行排序,如ls按照文件名进行排序一样,这个是依据文件内容的id进行排序,shell脚本应如何进行,谢谢!
前几天看了论坛中toniz 大大的关于perl大文件排序处理测试(与oracle外部表比较) http://bbs.chinaunix.net/forum.p ... mp;fromuid=29097174 这个帖子提到对大文件分块后排序合并,如果我想用shell去合并排序处理两个超大文件,如果用sort的话肯定特费时间和内存,shell会不会有相关的方法可以优化排序呢。 比如我现在的两个大文件,每四行作为一部分,按照第二行的字母顺序排序(ABCDEFG....),如下: ———————————...
怎样使用shell进行如下操作: 文件A内容: Class01_Student02 Class02_Student01 Class02_Student03 Class01_Student03 Class01_Student01 Class02_Student02 用什么样的命令可以将A文件内容变为: Class01_Student01 Class01_Student02 Class01_Student03 Class02_Student01 Class02_Student02 Class02_Student03
我有一个文本文件(UNIX如下: 86705008428001D 1000 86705008428001C 2000 86705008428001D 3000 86705008428001D 2500 86705008428001C 1500 86705008428001C 5000 86705008428001C 8000 如何用UNIX shell 把文件改为: 86705008428001D 1000 86705008428001C 2000 86705008428001D 3000 86705008428001C 1500 86705008428001D 2500 86705008428001C 5000 ----------------------- 86705008428001C 8000 按头一列最...
unix下写c程序,排序文件 首先测试: a.txt文件200多万行数据 使用sort -T /aaa -k 2 a.txt >; b.txt排序 执行11分钟 然后再测试900多个文件共1.8亿行数据,分十个进程对这些900多文件进行sort排序 结果竟然用了9个小时 按平均来说1.8亿/10/9=200万 也就是说一个进程一个小时才排一个200万行的文件 这不可能呀 什么原因呢? 难道说十个进程并不是并行的排序? 该如何提高速度??? 谢谢