批处理去除超大文本中的重复行

批处理去除超大文本中的重复行 去除超大文本中的重复行 在非常批处理论坛看到这个题,觉得挺有挑战的,上百万行的数据,光靠批处理应该是难做到了,不知道借助第三方命令行工具能否完成。 文本内有大概100W行的数据 要求一、 删除所有重复行 要求二、 以----为分隔符,将第一列与第二列重复的行删除(描述有问题,以末尾的红色字更新为准) 两个要求完成一个也行,分两个代...

作者: linuxfly 发布时间: 11-06

找出2个文件公有部分以及标签

awk 'NR==FNR{if(/[a-z]/)tag=$0;else if (/[0-9]/)a[$0]=tag}NR>FNR{if(/[a-z]/){if($0 in a)print $0,a[$0]}}' a: nihao 10-20 hi 30-34 ..... b: nihao 10-20 100-432 test 901-880 其中a,b之内的数字不会重复。找出a,b公有的数字以及它所属的label。

作者: expert1 发布时间: 11-06

bat批处理中For的用法

For 为一套文件中的每个文件运行一个指定的命令。 一、基本语法 For %variable In (set) Do command [command=parameters] 参数说明 %variable 指定一个单一字母可替换的参数 set 指定一个或一组文件,可以使用通配符。 command 指定对每个文件执行的命令。 command=parameters 命令的参数。 For %%i In (*) Do (Echo %%i) 这里使用星号通配符,表示当前目录下所有的文件。...

作者: linuxfly 发布时间: 11-06

一个计算IP的自定义脚本

awk ' function iprange(ip) {if(ip~/32$/){split(ip,xiaofu,"/");return xiaofu[1]"-"xiaofu[1]}else {return system("/usr/bin/ipcalc -b "ip"|awk \047/Address/{printf(\042%s-\042,$2)}/Broadcast/{print $2}\047")} } /[0-9]/{print iprange($0);next}{print}' ===============但是后边多一个0,奇怪,先保留然后再调试。========== 论坛哥们告诉我,去掉print就好了...

作者: expert1 发布时间: 11-04

文件夹内文件的utf-8 和 gbk编码转换

参考原文:http://blog.chinaunix.net/u1/37038/showart_2288954.html 把文件夹下文件转换成gbk编码 #-------------------------- convert2Utf.sh------------------------------- #! /bin/bash echo 'convert dir: ' $1 cd $1 ls | while read d; do if [ -d $d ]; then echo 'processing dir: ' $d ' ...' cd $d ls | while read f; do if [ -f $f ]; then #count=`expr ...

作者: chenmo69 发布时间: 11-04

shell /bin/bash^M: bad interpreter错误解决

错误原因之一很有可能是你的脚本文件是DOS格式的, 即每一行的行尾以\r\n来标识, 其ASCII码分别是0x0D, 0x0A. 可以有很多种办法看这个文件是DOS格式的还是UNIX格式的, 还是MAC格式的 (1). vi filename 然后用命令 :set ff? 可以看到dos或unix的字样. 如果的确是dos格式的, 那么你可以用set ff=unix把它强制为unix格式的, 然后存盘退出. 再运行一遍看. (2). 用joe filenam...

作者: orange_zr 发布时间: 11-04

同一台机器上实现不同版本的Qt的编译方法

大家都知道,编译不同版本的Qt程序,最主要的区别就是:各个版本的所依赖的库、交叉编译器不同。那么如何实现编译不同版本的程序在同一台机子上,以下是实现自己的方法,供大家借鉴! 首先我的环境如下: 1、平台:fedora11 arm-linux-gcc安装路径:/usr/local/arm/4.3.2 各版本Qt安装路径:/usr/local/Trolltech/QtEmbedded-4.5.2-arm(arm体系结构); /usr/local/Trolltech/Q...

作者: macker1989 发布时间: 11-03

shift 命令的使用

我们知道,对于位置变量或命令行参数,其个数必须是确定的,或者当Shell程序不知道其个数时,可以把所有参数一起赋值给变量$*。若用户要求 Shell在不知道位置变量个数的情况下,还能逐个的把参数一一处理,也就是在$1后为$2,在$2后面为$3等。在 shift命令执行前变量$1的值在shift命令执行后就不可用了。 示例如下: #测试shift命令(x_shift.sh) until [ $# -eq 0 ] do echo ...

作者: night85 发布时间: 11-03

自动化安装rkhunter

#!/bin/bash wget http://nchc.dl.sourceforge.net/project/rkhunter/rkhunter/1.3.6/rkhunter-1.3.6.tar.gz tar -zxvf rkhunter-1.3.6.tar.gz cd rkhunter-1.3.6 ./installer.sh --install cd /usr/local/bin/ ./rkhunter --checkall

作者: 非洲乌龟 发布时间: 11-03

纯shell查看文件权限

一个文件aaa,权限为750,我想通过脚本自动检查这个文件的权限,如果不等于640,则通过chmod设定为640,我知道通过if语句可以判断文件的属主权限,但不知道怎么判断文件的属组权限和other权限 ls -l|awk 'NR>1{print $1,$NF}'|while read x y;do a=${x:1};[ $a = "rwxr--r--" ]&&chmod 755 $y;done 当时写了3个,链接在http://bbs.chinaunix.net/viewthread.php?tid=1729980...

作者: expert1 发布时间: 11-03