grep 元字符 锚定符 cut test sort uniq 整数测试 字符串测试 文件测试 diff patch sed

    技术2022-05-20  48

    cat:-A-n-s,压缩空白行

    moreless -M

    headtail

    grep,全面搜索正则表达式,并打印之egrep -> grep -E 扩展grep *  0<=次 ?  出现0或1次 a?root broot +  1<=次 a+root () .*(abc)*.* wabcv,qwabcqwe | 或者 like your liker, love your lover   l(ik)|(ov)e your loverfgrep -> grep -F 快速grep-v:反向显示-i:忽略大小写-n:在匹配的结果只挑取有限范围行-An:在匹配的结果显示匹配范围外的n行

    patter,模式,从文件中匹配整个模式,然后显示包含了匹配到得内容的行

    元字符. grep 'r..r' /etc/passwd* 次数匹配  a*root,abroot,aaroot,aroot,root.* 匹配任意字符两次/{n/} a/{2/}root -> aaroot/{m,n/}    至少m次至多n次  a/{0,2/}root  root,aaroot,aroot/{n,/}    至少n次,多则不限/(.../)    love your lover love.*lover /(love/).*/1r    like your liker, love your lover     /(l/).*/1over^$ 空白行

    grep --color=auto 'root' /etc/passwd

    *   r*t,rt,rrt,rrrt,t  匹配前面字符0次或任意次r/{2/}*t 中间字符出现两次r/{2,/}*t 中间字符至少出现两次

    锚定符:^root 以root开头root$ 以root结尾[] 匹配括号中的字符范围的单个字符,出现一次[^] 除了范围之内的范围的单个字符/< /<root root出现在词首 roota,root/> root/> root出现在词尾 aroot,root/<  />     /<root/> 确定一个词 root

    如何表示以零个或多个大/小写字母开头,后跟一个非句点的字符,再跟零个或多个数字和一个换行符的行[[:alpha:]]*[^.][0-9]*

    如何,精度为2的小数/<[0-9]/{1,/},[0-9]/{2/}/>

    搜索正确的IP地址/(1[0-9]/{2/}|25[0-4]|[1-9][0-9]|[1-9]|2[0-4][0-9]/)/./(1[0-9]/{2/}|25[0-4]|[1-9][0-9]|[0-9]|2[0-4][0-9]]/)/./(1[0-9]/{2/}|25[0-4]|[1-9][0-9]|[0-9]|2[0-4][0-9]/)/./(1[0-9]/{2/}|25[0-4]|[1-9][0-9]|[1-9]|2[0-4][0-9]/)

    cut 用于切割文件内容cut -d-f 选取的段cut -d: -f1 /etc/passwd | grep "/<root/>"

    条件测试:test expresstest 1 > 2      结果0(假)或非0(真)

    echo $?   获取最后一个命令的返回值

    /dev/null “黑洞” 没用的东西都可以放入其中

    wc 统计-l 统计行数

    sort 排序-o 输出-r 逆序-n 以数值来排序-f 忽略大小写-u 除去重复行-t 指定分段 -t:-k 指定段  

    uniq 去除重复的行-c 显示重复个数-u 显示不重复的行-d 显示重复的行

    test expression    test 1 -gt 2[expression] [1 -gt 2][[expression]] [[1 -gt 2]]-a 与    -o 或   !非

    短路操作符

    &&[ $B -gt $A -a $B -gt $C ] -> [ $B -gt $A ] && [ $B -gt $C ]

    ||

    test:

    整数测试:-gt-lt-ge-le-eq-ne(($A > $B))> >=

    字符串测试:=!=><-z-n

    文件测试:-e FILE-f-d-r-w-x-L/-h    测试一个文件是否为富含连接文件-o 测试此文件属主是否为发起命令的人-G 测试此文件属组是否为发起命令的人的组

    diff/patch

    diff 111 222     用222来补111diff 111 222 > 333.patch 333.patch为补丁patch 111 < 333.pach 打补丁patch -R 111 < 333.pach    补丁降级

    diff:-u 输出格式不同

    sed 流编辑器

    sed [oprtions] 'parrern/operation' FILE-i: 修改源文件-e: 多操作-f: 引用文件修改

    addr1,addr21,$p 后缀,打印ds/pattern/substitude/   g 匹配每个字符  i忽略大小写


    最新回复(0)