精华内容
下载资源
问答
  • sort 文本排序

    2018-09-10 20:51:53
    语法 sort [options] [file] ... -k3和-k3,3的含义不同,如果不指定结尾会默认从3开始到行尾 如果同一行需要按两列排序的话,必须指定结尾! -b  忽略每行开头存在的空格 -u 去除重复行 ...
    • 语法
    sort [options] [file]
    -n  按照数字大小进行排序
    -r  倒序排列
    -t 指定分隔符
    -k 

    按指定区间排序

    -k3和-k3,3的含义不同,如果不指定结尾会默认从3列开始到行尾

    如果同一行需要按两列排序的话,必须指定结尾!

    -b  忽略每行开头存在的空格
    -u 去除重复行

     sort -n -t. -k3,3 -k4.1,4.3 arp.txt 

    -k3,3   从第三列起始到第三列结束

    -k4.1,4.3 从第三列第一个字符到第三列第三个字符

    逗号 , 连接的是字段

    句号 . 连接的是字符

     

    [root@localhost logs]# cat sort.txt 
    10.10.10.4
    10.10.10.4
    10.10.10.4
    10.10.10.4
    10.10.10.5
    10.10.10.5
    10.10.10.8
    10.10.10.4
    [root@localhost logs]# sort sort.txt 
    10.10.10.4
    10.10.10.4
    10.10.10.4
    10.10.10.4
    10.10.10.4
    10.10.10.5                不加选项
    10.10.10.5
    10.10.10.8
    [root@localhost logs]# sort -n sort.txt 
    10.10.10.4
    10.10.10.4
    10.10.10.4
    10.10.10.4
    10.10.10.4
    10.10.10.5
    10.10.10.5               -n选项作用
    10.10.10.8 
    [root@localhost logs]# sort -nr sort.txt 
    10.10.10.8
    10.10.10.5
    10.10.10.5
    10.10.10.4
    10.10.10.4
    10.10.10.4                -r选项作用
    10.10.10.4
    10.10.10.4
    [root@localhost logs]# sort -ur sort.txt  
    10.10.10.8
    10.10.10.5                -u选项作用
    10.10.10.4
    
    [root@localhost logs]# echo {a..z}
    a b c d e f g h i j k l m n o p q r s t u v w x y z
    [root@localhost logs]# cat test.txt 
    10.10.10.4 r
    10.10.10.4 g
    10.10.10.4 a
    10.10.10.5 n
    10.10.10.4 q
    10.10.10.8 l
    [root@localhost logs]# sort test.txt 
    10.10.10.4 a
    10.10.10.4 g
    10.10.10.4 q
    10.10.10.4 r
    10.10.10.5 n                 可以看出是先按数字然后按字母排序
    10.10.10.8 l
    [root@localhost logs]# sort -t " " -k2 test.txt 
    10.10.10.4 a
    10.10.10.4 g
    10.10.10.8 l
    10.10.10.5 n
    10.10.10.4 q                 以空格为分隔符,以第二列进行排序
    10.10.10.4 r
    [root@localhost logs]# cat arp.txt 
    192.168.111.1   00:50:56:c0:00:08
    192.168.113.2   00:50:56:e7:84:7f
    192.168.112.3   00:50:56:e7:84:72
    192.168.111.2   00:50:56:e7:84:51
    192.168.111.43  00:50:56:e7:84:6f
    192.168.111.140 00:50:56:e7:84:3d
    192.168.111.5   00:50:56:e7:84:09
    192.168.111.6   00:50:56:e7:84:7a  
    [root@localhost logs]# sort -n -t. -k3,3 -k4.1,4.3 arp.txt 
    192.168.111.1   00:50:56:c0:00:08
    192.168.111.2   00:50:56:e7:84:51
    192.168.111.5   00:50:56:e7:84:09
    192.168.111.6   00:50:56:e7:84:7a
    192.168.111.43  00:50:56:e7:84:6f
    192.168.111.140 00:50:56:e7:84:3d
    192.168.112.3   00:50:56:e7:84:72             以第三列和第四列进行排序
    192.168.113.2   00:50:56:e7:84:7f
    [root@localhost logs]# sort -n -t. -k3 -k4.1,4.3 arp.txt   
    192.168.111.1   00:50:56:c0:00:08
    192.168.111.140 00:50:56:e7:84:3d
    192.168.111.2   00:50:56:e7:84:51
    192.168.111.43  00:50:56:e7:84:6f
    192.168.111.5   00:50:56:e7:84:09
    192.168.111.6   00:50:56:e7:84:7a
    192.168.112.3   00:50:56:e7:84:72            在第三列的时候没有指定结尾,输出内容错误
    192.168.113.2   00:50:56:e7:84:7f
    
    

     

    展开全文
  • 34.批量去除文本文档中的汉字间的空格而同时保留英文间的空格 35.批量下载已知网络地址的文件 36.将AB中同时存在的关键词所在的B中的行提取出来 37.2个内容文本文档对比,找出不同处 38.批量行内对调 39.删除...
  • 34.批量去除文本文档中的汉字间的空格而同时保留英文间的空格 35.批量下载已知网络地址的文件 36.将AB中同时存在的关键词所在的B中的行提取出来 37.2个内容文本文档对比,找出不同处 38.批量行内对调 39.删除重复行...
  • Linux_shell_ 进阶

    2015-12-05 17:23:02
    合并和分割sort 域按不同顺序分类 ...从文本去除或者禁止重复行 joincut 剪切或者文本文件 pastesplit 大文件拆分成小文件 tr 替换字符(从输入中) 大小写 控制字符 删除空行 环境变量引号shell脚步#!/bin/sh

    合并和分割

    sort

    • 域按不同的列顺序分类
    sort -t : video.txt

    uniq

    • 从文本中去除或者禁止重复行

    join

    cut

    • 剪切列或者文本文件

    paste

    split

    • 大文件拆分成小文件

    tr

    • 替换字符(从输入中)
    • 大小写
    • 控制字符
    • 删除空行

    环境变量


    引号


    shell脚步

    #!/bin/sh
    展开全文
  • 统计最大的连续次数3个“不重复”个数统计在一重复的姓名中,如何统计出具体有几人 计数的问题 不相同 如何分班统计男女人数 在几百几千个数据中发现重复项 统计互不相同的数据个数 多个工作表的单元格合并计算 ...
  • 文本的高级操作: wc  -c ...diff --查看两个文件间不同地方,对比两个文件。... -b 忽略空格引起的不同 ... -u 去除结果中的重复行  -t 指定分隔符  -k 指字的  -o 将输出写到指定的文件,相
    文本的高级操作:


    wc 
    -c
    -l
    -w


    diff --查看两个文件间不同地方,对比两个文件。
     -b 忽略空格引起的不同
     -i 忽略大小写
     -B 忽略插入空格引起的变化




    sort --排序
     -r 反向
     -n 以数字来排序
     -u 去除结果中的重复行
     -t 指定分隔符
     -k 指字的列
     -o    将输出写到指定的文件,相当于将输出重定向到指定文件
     -c 测试文件是否已经被排序
     -m  合并两个已排序的文件




    uniq --去除重复行
     -c 统计重复的行数有几行
     -i 忽略大小写
     -d 只显示重复的行
     -u 只显示没有重复的记录




    cut --可以去除行间指定字符段


     -d 指定分隔符
     -f    指定列
     -c 字符的序号  c1-100


    join命令用于实现两个文件中记录的连接操作,连接操作将两个文件中具有相同域的记录选择出来,再将这些记录所有的域放到一行(包含来自两个文件的所有域)


    -a1或-a2 除了显示以共同域进行连接的结果外,-a1表示还显示第1个文件中没有共同域的记录,-a2则表示显示第2个文件中没有共同域的记录
    -i 比较域内容时,忽略大小写差异
    -o 设置结果显示的格式
    -t 改变域分隔符
    -v1或-v2 跟-a选项类似,但是,不显示以共同域进行连接的结果






    paste --合并两个文件
    -d 默认域分隔符是空格或Tab键,设置新的域分隔符
    -s 将每个文件粘贴成一行
    - 从标准输入中读取数据


    # ls | paste -d" " - - - - -
    ls | paste -d" " - | grep ~$ | xargs rm -f






    split 用于将大文件切割成小文件,split命令可以按照文件的行数、字节数切割文件,并能在输出的多个小文件中自动加上编号


    -或-l 此两个选项等价,都用于指定切割成小文件的行数
    -b 指定切割成小文件的字节
    -C 与-b选项类似,但是,切割时尽量维持每行的完整性
    # split -l50 /etc/passwd
    # split -b1000 /etc/passwd  sb


    tr --替换,只能接受输入重定向的文件流
    -d 册除某个指定的字符串
    -s 删除所有重复出现的字符序列,只保留一个


    # tr -s '[\n]' < AREACODE.db 将重复出现的换行符压缩成一个 
    BEIJING:86010
    HONGKONG:852
    SHANGHAI:86021
    TORONTO:001416
    #tr -d A-Z < AREACODE.db  删除所有大写字符
    #tr -d "[\n]" < AREACODE.db 删除所有换行符   \b 退格符 \r 回车键 \t tab键
    # cat test
    Wooooomennnn
    TTTTheyyyy
    #tr -s "[a-z],[A-Z]" < test 将所有重复字符压缩成一个字符
    #tr -s  "[a-z]" "[A-Z]" < test 将所有小写换成大写
    #tr "[o*5]" "@" < test 将文件连续出现5次o字符改成@字符


    # tr -d 'A-Z' < AREACODE.db  | grep -v ^$ | tee dbn.out &> /dev/null &&  tr -d ':' < dbn.out 
    # cut -d: -f2 AREACODE.db | grep -v '^$'


    cat a1.txt 
    :86010
    :852
    : 86021
    :001416
    tr -d "[:],[\t]" < a1.txt  删除冒号与tab键




    tee --双向重定向
     -a 追加
    # who | tee who.out






    正则表达式(regex) --用于文本精确匹配
    第一类正则表达式:
    (1).: 代表任意单个字符,除了换行符 
    (2)*: 前导字符出现 0 次 或 多次
    (3).*: 任意长度的字符
    (4)^: 行的开头
    (5)$: 行的结尾
    (6)^$: 空行
    (7)[abc] 以字符为单位的或关系
    (8)[a-z]   [A-Z]   [0-9]   || [a-zA-Z0-9]
    (9)[^abc] 取非
    (10)^[abc] a或b或c开头的行
    (11)^[^abc] 非a或非b或非c开头
    (12)\<: 取单词的头
    (13)\>: 取单词的尾


    --扩展类的正则表达式 grep -E | egerp
    (14)+: 1次或多次
    (15)?: 0次或1次
      (16)\<\> 精确匹配符号 
      (17)\{n\} 匹配前面字符出现n次 
      (18)\{n,\} 匹配前面字符至少出现n次 
      (19)\{n,m\} 匹配前面字符出现n次与m次之间 




    cat 1 | grep -E 'ro{2}t'   匹配2次


    [root@i tmp]# grep  -E '([ro]{2})' test02 
    rot
    root
    rooot
    [root@i tmp]# grep   'ro\{2\}' test02 
    root
    rooot


    第二类正则表达式(POSIX标准):
    [[:digit:]]: 数字
    [[:lower:]]: 小写字母
    [[:upper:]]: 大写字母
    [[:space:]]: 空格
    [[:alnum:]]: 字母数字


     tr [[:upper:]] [[:lower:]] < aa


    支持正则表达式工具(软件):
    grep/egrep find locate sed awk vim


    grep 'regex' file --把正则表达式写在单引号中,防止shell解释正则表达式
    grep -E 'regex' file --匹配扩展的正则表达式在grep中需要加-E选项
    egrep=grep -E


    # find / -regex '.*\.iso$'
    # find / -regex '^\/var.*\.iso$'


    locate -r
    # locate -r '^\/var.*\.iso$'




    sed -n '/^root/p' /etc/passwd


    awk '/^root/ {print $0}' /etc/passwd


    vim
    /^root
    /nologin$
    :%s/^root/ROOT/g


    grep
    o:只打印匹配出来的字符
    n:显示行号
    v:取反
    l:匹配成功,打印文件
    c:统计匹配到的字符的数量,但是统计的是行数,而不是匹配的字符个数
    A:匹配行后几行
    B:匹配行前几行
    C:匹配行前后几行,  如    -C 2   与   -2
    i:忽略大小写
    q:静默执行,一般在测试时,取返回值用  
    [root@instructor tmp]# grep -q daemon paswd 
    [root@instructor tmp]# echo $?
    0
    [root@instructor tmp]# grep -q cc paswd 
    [root@instructor tmp]# echo $?
    1
    r/R:对一个目录下的所有文件进行搜索
    --color:用特殊颜色标示匹配到的关键字
    H: 列出匹配到关键字的文件路径


    egrep:拓展正则搜索
    egrep = grep -E




    # cat grep.txt 
    ggle
    gogle
    google
    gooogle
    gagle
    gaagle
    gaaagle
    abcgef


    abcdef


    操作如下:
    grep 'g.g' grep.txt --只要两个g字母中间有一个任意字符就可以
    grep 'g*g' grep.txt --只要有一个g字母就可以。等同于grep g grep.txt
    grep 'go*g' grep.txt   --只要两个g字母中间有零个o或多个o就可以 
    grep 'g.*g' grep.txt --只要两个g字母中间有零个或任意个字符就可以
    grep 'go.*g' grep.txt   --只要go与g字母中间有零个或任意个字符就可以


    /etc/passwd
    grep ^...t /etc/passwd --查找每行里第四个字符为t的行
    grep o.....$ /etc/passwd --查找每行里倒数第六个字符为o的行
    grep s..n /etc/passwd --查找每行里有s和n字符,并且中间有两个字符的行
    grep x:4: /etc/passwd --查找uid为4的行(只使用grep和正则表达式,不使用cut或awk的截取)
    grep .*:.:4:.*:.*:.*:.* /etc/passwd --查找uid里是4的行
    grep .*:.:.*4.*:.*:.*:.*:.* /etc/passwd --查找uid里包括4的行
    grep .*:.*:.*:.*::.*:.* /etc/passwd --查找/etc/passwd里注释列为空的行
    grep -v .*:.*:.*:.*::.*:.* /etc/passwd --查找/etc/passwd里注释列不为空的行
    grep .*:.*:.*:.*:..*:.*:.* /etc/passwd
    grep .*:[!*].*:.*:.*:.*:.*:.*:.*:.* /etc/shadow --查找不能在登录界面用密码正常登录的用户
    grep root /etc/passwd -- 过滤关键字
    grep '^root' /etc/passwd   -- 以 root 开头的行
    grep 'bash$' /etc/passwd   -- 以 bash 结尾的行
    grep '^$' /etc/passwd   -- 查找空行
    grep '^[ru]' /etc/passwd   -- r 或  u
    grep '[0-9]' /etc/passwd   -- 查找数字
    grep '^[^abc]' /etc/passwd   -- 取反,非 a 非 b 非 c 开头
    grep '\<root\>' /etc/passwd   --  \< 取单词的头,\> 取单词的尾
    grep -E '^root|^zhang' /etc/passwd  --color -- 拓展正则 ,  -E,匹配以root 或 zhang 开头
    grep -n root /etc/passwd   -- 带行号过滤
    grep -oE '(([0-9]{1,3}\.){3}[--9]{1,3})' /var/log/secure --在文本过滤IP地址




     cat /var/log/httpd/access_log | grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}' | sort -n | uniq -c | sort -rn | head -1 | awk '{print $NF}'




    arp -a  | grep -oE '(([0-9 a-z A-Z]{1,2}\:){5}[0-9 a-z A-Z]{1,2})'


    grep [[:digit:]] /etc/passwd 
    grep [[:lower:]] /etc/passwd 
    grep [[:upper:]] /etc/passwd 
    grep [[:space:]] /etc/passwd 
    grep [[:alnum:]] /etc/passwd


    find
    find dir1 dir2... [options]...
    find /etc/ -maxdepth 1 : -- 最大深度
    find /etc/ -maxdepth 1 -type d|f|s|b|c|l : -- 最大深度 + 文件类型
    find /etc/ -type f -name "passwd" -ls : -- 
    find /etc/ -type f -user user01 -group group01: -- 按照用户和所属组搜索
    find /etc/ -type f -perm 644 : -- 按照权限进行搜索
    find /etc/ -type f -perm +640: -- +号表示或关系
    find /etc/ -type f -perm -640: -- -号表示与关系       0代表忽略 +-号时代表空,
    find /bin -type f -perm +4000 -ls: -- 查找带有  suid 权限的文件
    find . -type f -size +5M -a -size -8M:     -- 大于 5 M 小于 8M 的文件
    find . -type f -size -5M -o -size +8M: -- 小于 5 M 大于 8M 的文件
    find . -type f -size 1M -ok rm {} \;    : -- 交互模式删除
    find . -type f -size 1M -exec rm {} \;  : -- 不交互模式删除






    正则:
    # cd /etc
    # find . -maxdepth 1 -regex '\./.*d$' 
    # find . -maxdepth 1 -regex '\./h.*d$'
    # find . -maxdepth 1 -regex '\./.*[0-9].*' --查找/etc目录下的文件名中包含有数字的文件


    -type
    -name
    -size
    -perm
    -user  -group
    -maxdepth N
    -mtime:
    -exec  -ok  -o -a            -not (!)
    -regex
    展开全文
  • shell_03

    2013-07-02 17:21:42
    文本的高级操作: wc  -c ...diff --查看两个文件间不同地方,对比两个文件。... -b 忽略空格引起的不同 ... -u 去除结果中的重复行  -t 指定分隔符  -k 指字的  -o 将输出写到指定的文件,相
    文本的高级操作:


    wc 
    -c
    -l
    -w


    diff --查看两个文件间不同地方,对比两个文件。
     -b 忽略空格引起的不同
     -i 忽略大小写
     -B 忽略插入空格引起的变化




    sort --排序
     -r 反向
     -n 以数字来排序
     -u 去除结果中的重复行
     -t 指定分隔符
     -k 指字的列
     -o    将输出写到指定的文件,相当于将输出重定向到指定文件
     -c 测试文件是否已经被排序
     -m  合并两个已排序的文件




    uniq --去除重复行
     -c 统计重复的行数有几行
     -i 忽略大小写
     -d 只显示重复的行
     -u 只显示没有重复的记录




    cut --可以去除行间指定字符段


     -d 指定分隔符
     -f 指定列
     -c 字符的序号  c1-100


    join命令用于实现两个文件中记录的连接操作,连接操作将两个文件中具有相同域的记录选择出来,再将这些记录所有的域放到一行(包含来自两个文件的所有域)


    -a1或-a2 除了显示以共同域进行连接的结果外,-a1表示还显示第1个文件中没有共同域的记录,-a2则表示显示第2个文件中没有共同域的记录
    -i 比较域内容时,忽略大小写差异
    -o 设置结果显示的格式
    -t 改变域分隔符
    -v1或-v2 跟-a选项类似,但是,不显示以共同域进行连接的结果






    paste --合并两个文件
    -d 默认域分隔符是空格或Tab键,设置新的域分隔符
    -s 将每个文件粘贴成一行
    - 从标准输入中读取数据


    # ls | paste -d" " - - - - -                  




    split 用于将大文件切割成小文件,split命令可以按照文件的行数、字节数切割文件,并能在输出的多个小文件中自动加上编号


    -或-l 此两个选项等价,都用于指定切割成小文件的行数
    -b 指定切割成小文件的字节
    -C 与-b选项类似,但是,切割时尽量维持每行的完整性
    # split -l50 /etc/passwd
    # split -b1000 /etc/passwd  sb


    tr --替换,只能接受输入重定向的文件流
    -d 册除某个指定的字符串
    -s 删除所有重复出现的字符序列,只保留一个


    # tr -s '[\n]' < AREACODE.db 将重复出现的换行符压缩成一个 
    BEIJING:86010
    HONGKONG:852
    SHANGHAI:86021
    TORONTO:001416
    #tr -d A-Z < AREACODE.db  删除所有大写字符
    #tr -d "[\n]" < AREACODE.db 删除所有换行符   \b 退格符 \r 回车键 \t tab键
    # cat test
    Wooooomennnn
    TTTTheyyyy
    #tr -s "[a-z],[A-Z]" < test 将所有重复字符压缩成一个字符
    #tr -s  "[a-z]" "[A-Z]" < test 将所有小写换成大写
    #tr "[o*5]" "@" < test 将文件连续出现5次o字符改成@字符


    # tr -d 'A-Z' < AREACODE.db  | grep -v ^$ | tee dbn.out &> /dev/null &&  tr -d ':' < dbn.out 
    # cut -d: -f2 AREACODE.db | grep -v '^$'


    tee --双向重定向
     -a 追加
    # who | tee who.out






    正则表达式(regex) --用于文本精确匹配
    第一类正则表达式:
    (1).: 代表任意单个字符,除了换行符
    (2)*: 前导字符出现 0 次 或 多次
    (3).*: 任意长度的字符
    (4)^: 行的开头
    (5)$: 行的结尾
    (6)^$: 空行
    (7)[abc] 以字符为单位的或关系
    (8)[a-z]   [A-Z]   [0-9]
    (9)[^abc] 取非
    (10)^[abc] a或b或c开头的行
    (11)^[^abc] 非a或非b或非c开头
    (12)\<: 取单词的头
    (13)\>: 取单词的尾


    --扩展类的正则表达式
    (14)+: 1次或多次
    (15)?: 0次或1次
      (16)\<\> 精确匹配符号 
      (17)\{n\} 匹配前面字符出现n次 
      (18)\{n,\} 匹配前面字符至少出现n次 
      (19)\{n,m\} 匹配前面字符出现n次与m次之间 


    第二类正则表达式(POSIX标准):
    [[:digit:]]: 数字
    [[:lower:]]: 小写字母
    [[:upper:]]: 大写字母
    [[:space:]]: 空格
    [[:alnum:]]: 字母数字




    支持正则表达式工具(软件):
    grep/egrep find locate sed awk vim


    grep 'regex' file --把正则表达式写在单引号中,防止shell解释正则表达式
    grep -E 'regex' file --匹配扩展的正则表达式在grep中需要加-E选项
    egrep=grep -E


    # find / -regex '.*\.iso$'
    # find / -regex '^\/var.*\.iso$'


    locate -r
    # locate -r '^\/var.*\.iso$'




    sed -n '/^root/p' /etc/passwd


    awk '/^root/ {print $0}' /etc/passwd


    vim
    /^root
    /nologin$
    :%s/^root/ROOT/g


    grep
    o:只打印匹配出来的字符
    n:显示行号
    v:取反
    l:匹配成功,打印文件
    c:统计匹配到的字符的数量,但是统计的是行数,而不是匹配的字符个数
    A:匹配行后几行
    B:匹配行前几行
    C:匹配行前后几行,  如    -C 2   与   -2
    i:忽略大小写
    q:静默执行,一般在测试时,取返回值用
    r/R:对一个目录下的所有文件进行搜索
    --color:用特殊颜色标示匹配到的关键字
    H: 列出匹配到关键字的文件路径


    egrep:拓展正则搜索
    egrep = grep -E




    # cat grep.txt 
    ggle
    gogle
    google
    gooogle
    gagle
    gaagle
    gaaagle
    abcgef


    abcdef


    操作如下:
    grep 'g.g' grep.txt --只要两个g字母中间有一个任意字符就可以
    grep 'g*g' grep.txt --只要有一个g字母就可以。等同于grep g grep.txt
    grep 'go*g' grep.txt   --只要两个g字母中间有零个o或多个o就可以 
    grep 'g.*g' grep.txt --只要两个g字母中间有零个或任意个字符就可以
    grep 'go.*g' grep.txt --只要go与g字母中间有零个或任意个字符就可以


    /etc/passwd
    grep ^...t /etc/passwd --查找每行里第四个字符为t的行
    grep o.....$ /etc/passwd --查找每行里倒数第六个字符为o的行
    grep s..n /etc/passwd --查找每行里有s和n字符,并且中间有两个字符的行
    grep x:4: /etc/passwd --查找uid为4的行(只使用grep和正则表达式,不使用cut或awk的截取)
    grep .*:.:4:.*:.*:.*:.* /etc/passwd --查找uid里是4的行
    grep .*:.:.*4.*:.*:.*:.*:.* /etc/passwd --查找uid里包括4的行
    grep .*:.*:.*:.*::.*:.* /etc/passwd --查找/etc/passwd里注释列为空的行
    grep -v .*:.*:.*:.*::.*:.* /etc/passwd --查找/etc/passwd里注释列不为空的行
    grep .*:.*:.*:.*:..*:.*:.* /etc/passwd
    grep .*:[!x].*:.*:.*:.*:.*:.*:.*:.* /etc/shadow --查找不能在登录界面用密码正常登录的用户
    grep root /etc/passwd -- 过滤关键字
    grep '^root' /etc/passwd   -- 以 root 开头的行
    grep 'bash$' /etc/passwd   -- 以 bash 结尾的行
    grep '^$' /etc/passwd   -- 查找空行
    grep '^[ru]' /etc/passwd   -- r 或  u
    grep '[0-9]' /etc/passwd   -- 查找数字
    grep '^[^abc]' /etc/passwd   -- 取反,非 a 非 b 非 c 开头
    grep '\<root\>' /etc/passwd   --  \< 取单词的头,\> 取单词的尾
    grep -E '^root|^zhang' /etc/passwd  --color -- 拓展正则 ,  -E,匹配以root 或 zhang 开头
    grep -n root /etc/passwd   -- 带行号过滤
    grep -oE '(([0-9]{1,3}\.){3}[--9]{1,3})' /var/log/secure --在文本过滤IP地址


    grep [[:digit:]] /etc/passwd 
    grep [[:lower:]] /etc/passwd 
    grep [[:upper:]] /etc/passwd 
    grep [[:space:]] /etc/passwd 
    grep [[:alnum:]] /etc/passwd


    find
    find dir1 dir2... [options]...
    find /etc/ -maxdepth 1 : -- 最大深度
    find /etc/ -maxdepth 1 -type d|f|s|b|c|l : -- 最大深度 + 文件类型
    find /etc/ -type f -name "passwd" -ls : -- 
    find /etc/ -type f -user user01 -group group01: -- 按照用户和所属组搜索
    find /etc/ -type f -perm 644 : -- 按照权限进行搜索
    find /etc/ -type f -perm +640: -- +号表示或关系
    find /etc/ -type f -perm -640: -- -号表示与关系       0代表忽略 +-号时代表空,
    find /bin -type f -perm +4000 -ls: -- 查找带有  suid 权限的文件
    find . -type f -size +5M -a -size -8M: -- 大于 5 M 小于 8M 的文件
    find . -type f -size -5M -o -size +8M: -- 小于 5 M 大于 8M 的文件
    find . -type f -size 1M -ok rm {} \;    : -- 交互模式删除
    find . -type f -size 1M -exec rm {} \;  : -- 不交互模式删除






    正则:
    # cd /etc
    # find . -maxdepth 1 -regex '\./.*d$' 
    # find . -maxdepth 1 -regex '\./h.*d$'
    # find . -maxdepth 1 -regex '\./.*[0-9].*' --查找/etc目录下的文件名中包含有数字的文件


    -type
    -name
    -size
    -perm
    -user  -group
    -maxdepth N
    -mtime:
    -exec  -ok  -o -a -not
    -regex



    展开全文
  • EXCEL函数公式集

    热门讨论 2010-03-16 03:26:38
    统计最大的连续次数3个“不重复”个数统计在一重复的姓名中,如何统计出具体有几人 计数的问题 不相同 如何分班统计男女人数 在几百几千个数据中发现重复项 统计互不相同的数据个数 多个工作表的单元格合并计算 ...
  • 汇总结果为第一不再有重复行,即第一去除重复行”,其后各数据求和或文本联接。 5、拆分表格:将所选区域第一中不同行拆分为许多工作表,以第一各行内容为工作表名称,并复制其后面各内容。 6、选择...
  • Excel百宝箱8.0

    2011-06-07 21:32:17
    【图片查询工具】【将选区保存为图片】【生成个性化批注】 【插入GIF动画】【插入Flash动画】【禁止录入重复值】【相同项与不同项】【建文件目录】【提取选区重复值】【清除重复值】【标示重复值】【删除空白...
  • 正则表达式经典实例.pdf

    热门讨论 2013-01-26 15:14:37
    5.9 删除重复文本行 5.10 匹配包含某个单词的整行内容 5.11 匹配不包含某个单词的整行 5.12 删除前导和拖尾的空格 5.13 把重复的空白替换为单个空格 5.14 对正则表达式元字符进行转义 第6章 数字 6.1 整数 6.2 ...
  • 正则表达式经典实例

    2014-07-11 14:39:05
    5.9 删除重复文本行 5.10 匹配包含某个单词的整行内容 5.11 匹配不包含某个单词的整行 5.12 删除前导和拖尾的空格 5.13 把重复的空白替换为单个空格 5.14 对正则表达式元字符进行转义 第6章 数字 6.1 整数 ...
  • 【禁止录入重复值】对指定的进行录入控制,输入重复数据时提示有重复以及重复次数 【删除空白单元格所在行】输入1则删除空白行(整行空白),输入2则删除空白单元格所在行 【筛选唯一值】以选择区域左边一列为条件...
  • Excel新增工具集

    2011-12-20 09:30:27
    Microsoft Office Excel 新增系列工具 帮 助 文 件 一、必要条件: 请确认您安装了Microsoft Office Excel2003、...2、某列重复数据标注与整行删除:在每行指定列的各单元格中查找重复数据(同相的文本或数字),...
  • 【标示重复值】:将重复出现的数据用不同颜色分别标示出来,不同重复值用不同颜色 【删除空白单元格所在行】:输入1则删除空白行(整行空白),输入2则删除空白单元格所在行 【筛选唯一值】:以选择区域左边一...
  • EXCEL百宝箱8.0终极版

    2011-11-05 16:48:02
    【标示重复值】:将重复出现的数据用不同颜色分别标示出来,不同重复值用不同颜色 【删除空白单元格所在行】:输入1则删除空白行(整行空白),输入2则删除空白单元格所在行 【筛选唯一值】:以选择区域左边一列为...
  • 【标示重复值】:将重复出现的数据用不同颜色分别标示出来,不同重复值用不同颜色 【删除空白单元格所在行】:输入1则删除空白行(整行空白),输入2则删除空白单元格所在行 【筛选唯一值】:以选择区域左边一列为...
  • 【快捷综合取数】 功能较<快捷取数列>功能更强大,支持同时取6个不同存储格区域(或)为6个唯一值清单,并在指定的6个不同的生效范围自适应地显示对应的清单。清单的最后6项也为子程序功能,能完成相关操作。且...
  • 技巧158 用8种颜色区分不同的数值 第五篇 常规计算分析 第15章 分级显示和分类汇总 技巧159 认识分级显示 技巧160 手工创建分级显示 技巧161 自动生成分级显示 技巧162 分级的显示和隐藏 技巧163 ...
  • 80多个不常见的符号插件.mxp 80多个国家的一个下拉菜单.mxp addToFavoritesBH.mxp ...Allaire为ColdFusion开发的插件.mxp ...自动为重复区域加上号.mxp 最近打开文件插件.mxp 更多资源下载:http://bbs.ecaiyun.cn
  • 【快捷综合取数】 功能较<快捷取数列>功能更强大,支持同时取6个不同存储格区域(或)为6个唯一值清单,并在指定的6个不同的生效范围自适应地显示对应的清单。清单的最后6项也为子程序功能,能完成相关操作。且...
  • EXCEL集成工具箱V6.0

    2010-09-11 01:44:37
    【快捷综合取数】 功能较<快捷取数列>功能更强大,支持同时取6个不同存储格区域(或)为6个唯一值清单,并在指定的6个不同的生效范围自适应地显示对应的清单。清单的最后6项也为子程序功能,能完成相关操作。且...
  • 【快捷综合取数】 功能较<快捷取数列>功能更强大,支持同时取6个不同存储格区域(或)为6个唯一值清单,并在指定的6个不同的生效范围自适应地显示对应的清单。清单的最后6项也为子程序功能,能完成相关操作。且...
  • 【快捷综合取数】 功能较<快捷取数列>功能更强大,支持同时取6个不同存储格区域(或)为6个唯一值清单,并在指定的6个不同的生效范围自适应地显示对应的清单。清单的最后6项也为子程序功能,能完成相关操作。且...
  • word使用技巧大全

    热门讨论 2011-03-18 20:37:53
    47、行首尾随点随到 90 48、表格一次删个光 90 49、Word文档快速查找 90 50、几秒钟自动生成目录 90 51、在Word快速输入化学方程式 90 51、Word的两种水印 90 52、Word中画直线及精确调整图形的技巧 90 53、在Word...
  • 12.1.3 去除重复出现的字符 120 12.1.4 删除空行 120 12.1.5 大写到小写 121 12.1.6 小写到大写 121 12.1.7 删除指定字符 121 12.1.8 转换控制字符 122 12.1.9 快速转换 122 12.1.10 匹配多于一个字符 123 12.2 小结...
  • │ │ 技巧165 重复文本技巧二则.xls │ │ 技巧166 字符串比较及清理垃圾字符.xls │ │ 技巧169 计算字符出现的次数.xls │ │ 技巧170 提取字符串.xls │ │ 技巧171 文本合并符号的妙用.xls │ │ 技巧172 ...
  • 12.1.3 去除重复出现的字符 120 12.1.4 删除空行 120 12.1.5 大写到小写 121 12.1.6 小写到大写 121 12.1.7 删除指定字符 121 12.1.8 转换控制字符 122 12.1.9 快速转换 122 12.1.10 匹配多于一个字符 123 12.2 小结...
  • 2.13 选择不同的列表项就显示不同的按钮 2.14 使用按钮控制文本渐变 2.15 翻页效果的公告栏 2.16 动态设置控件的事件 第3章 字符串文本和输入框特效 3.1 只带下划线的输入框 3.2 限定文本框可输入字符数 3.3 文字过...

空空如也

空空如也

1 2 3 4 5 6
收藏数 112
精华内容 44
关键字:

去除不同列重复文本