Linux下数据处理常用命令及选项(二)

来源:互联网 发布:计算机c语言基础知识 编辑:程序博客网 时间:2024/04/28 16:49

1.grep(文件内查询)

-w :单词匹配
    grep –w '1234' test.unl    #相当于    grep '/<123/>' a.txt #精确匹配123    grep '/<123' a.txt 可以匹配1234    grep '123\>' a.txt 可以匹配4123

-A :匹配行下面n行
-B :匹配行上面n行
-C:匹配行上下n行
-c:统计匹配的行数
    grep -A2 'test' test.unl

-E:解释模式作为一个扩展的正则表达式
    grep -E 'reg1|reg2' test.unl    grep -e 'reg1' -e 'reg2' test.unl

-e:或 见上文
-P:启用perl正则
grep -P "\d" test.unl

-o:只输出匹配的部分
    echo -e "123d32" | grep -oP "\d+"

-H:显示文件名和匹配行
-h:只显示匹配行    
-l:只显示包含匹配行的文件名
-L:只显示不包含匹配行的文件名
grep -H 'reg1' test.unl

-i:匹配忽略大小写
    grep -i "a" test.unl    #作用类似    grep -e 'a' -e 'A' test.unl

-f:以第一个文件的每行依次为匹配条件筛选
    grep –f reg.unl test.unl

2.find  (查找文件)

-name:按照文件名查找
find ./ -name "*.unl"

-perm:按照权限查找
find . -perm 644

-user :按照用户查找
find . -user  username -print

-group : 按照用户组查找
find . -group groupname -print

-mtime:按照更改时间查找
find . -mtime -5 -print # 更改时间5天内find . -mtime +3 -print #更改时间3天前

-newer:查找更新时间比某文件早的
find . -newer test.unl

-type:按照文件类型查找(d:文件夹  f:文件 ..)
find . -type d

-size:按照文件大小查找(默认单位为块(512字节))
find . -size +1000000c -print #查找文件长度大于1 M字节find . -size +10 -print #查找长度超过1 0块的文件

 -maxdepth  -mindepth :查找的层数
find . -maxdepth 1 #在当前目录查询,不进入子目录

-exec:匹配到一些文件后,对其进行操作
find . -type f -exec ls -al {} \; #{} 代表查找到的文件名 \; 代表 exec选项的结束

3.xargs (find的好基友,一般连用)


-n (几行合并)
seq 10 | xargs -n3

-I(取名)

find . -type f | xargs -I wx rm wx

4.sort

-数字
sort +1 test.unl   #+1:按照第二列排序(第一列为0) -2 为忽略第三个域sort +1.2 test.unl    #按照第二列左边起第三个字符排序

-n:按照数值大小排序(默认为按照字符排序)
sort -n test.unl

-t:指定分隔符
sort -t"|" -k1 test.unl  #按照第一列排序 (默认0开始 k选项 1开始)

-u :去重
sort -u test.unl

-r:排倒序
sort -r test.unl

-s :稳定排序
    > cat test.unl    3 2    2 4    2 3    4 1    > sort +0 test.unl  #第二列也默认排序    2 3    2 4    3 2    4 1    >sort -s -k1,1 test.unl  #-s 和 -k 合用  -s稳定排序   -k指定排序的列 逗号(,)分隔开起始列和结束列    2 4    2 3    3 2    4 1


0 0
原创粉丝点击