美文网首页linux
linux基础2(字符管理)

linux基础2(字符管理)

作者: heiguu | 来源:发表于2018-11-13 16:55 被阅读6次


    grep

    grep -o root passwd  匹配关键字体

    grep -n root passwd 显示行数

    grep -i root passwwd 忽略大小写

    grep -v root passwd 查找不包含root的内容

    grep -A 5 ntp passwd 显示ntp后5行

    grep -B 5 ntp passwd 显示ntp前5行

    grep -C 5 ntp passwd 显示ntp前后5行

    grep --color=auto  root passwd  字体带颜色

    . *任意长度的字符

    [ ] 匹配指定字符组内的任一字符 

    [^] 匹配不在指定字符组内的任一字符

    ^[ ] 匹配以指定字符组内的任一字符开头 

    ^[^] 匹配不以指定字符组内的任一字符开头

    grep -E (egrep) 扩展正则表达式

    +              匹配一个或多个前导字符

    ?               匹配零个或一个前导字符

    a|b            匹配a或b

    ( )              组字符 hello myself yourself   (my|your)self

    x{m}         前导字符x重复m次

    [:alnum:]          字母与数字字符

    [:alpha:]     字母字符(包括大小写字母)

    [:blank:]     空格与制表符       

    [:digit:] |    数字

    [:lower:]      小写字母

    [:upper:]     大写字母

    [:punct:]     标点符号 

    [:space:]    包括换行符,回车等在内的所有空白

    vim /etc/bashrc 添加字符颜色

    unalias grep 取消字体颜色

    soure /etc/bashrc  重新加载

    grep ^# linux                                    以#号开头的行

    grep ^$ linux                                     空行

    grep -v -e ^$  -e ^# linuxx    

    grep -w root linux                               root所在的行 并标识root

    grep -v ^# linux | grep -v ^$

    egrep -v '(^#|^$)' linux                      不显示空行和带#号开头的行

    grep "/<good" linux                            good所在的行(goodb可以显示)

    grep "?/<good>/" linux                       good所在的行(goob不能显示)  例最后一个                                                                                                                        单词为goodb

    grep '/'^gmae linux                               显示^game 特殊符号显示用‘/’

    grep ens33$ linux                                   以ens33结尾的行

    grep [o-z] linux                                       显示出带o-z字母的单词

    grep ^T? linux                                         标出T开头的行

    grep ^T+ linux                                        只显示T开头的行

    grep '(^A|^a)' linux                                 A a开头的行

    sed

    sed '1d' linux                                          删除第一行

    sed '1,3d' linux                                       删除1-3行

    sed '2,$d' linux                                        删除2到末行

    sed '/link/d' llinux                                   删除含link的行

    (加-i  彻底删除)

    sed '/ens33/p' linux                                  ens33的行 +1

    sed '/^[Aa]pple/p' linux                           [Aa]pple开头的行 +1

    sed -ne '1,2p' -e '/game/p' linux              1-2行内的含有game的行+1

    sed -e '1,3d' -e 's/game/ok/p' linux         删除1-3行 含有game的行+1 并把game改为ok

    sed '2,/apple/p' linux                               第二到含apple开头的行+1

    sed -n '/ens33/p' linux                              只显示含ens33的行

    sed -n 's/game/123/p' linux                      只显示game的行 并把game改为123

    sed -n 's/game/123/gp' linux                    只显示game的行 并把game改为123(整行替换) 

    sed -n 's/game$/linux./p' linux                  只显示game的行 以game结尾的后面加linux.

    sed -n 's/game$/&.linux/p' linux               只显示game的行  在game后面加上.linux

    sed 's/game$/&.linux/p' linux                   显示所有行 game行+1 并在game后面加.linux

    sed 's/game$/&.linux/' linux                      显示所有行 并在game后面加.linux

    sed '/Apple/r io' linux                                把文件io的内容全部写到Apple的下一行

    sed '/Apple/w io' linux                               把Apple整行的内容写到io中 (覆盖)

    sed '/game/a\---linux---' linux                  在game的下一行插入---linux---

    sed 'y/game/GAME/p' linux                       把字母game改成大写GAME

    awk

    awk 'NR==4' linux                                        显示第四行

    awk '/game/' linux    (grep game linux)

    awk /game/ linux      (grep -n '/game/p'  linx)      

      显示含有game的行

    cat linux | grep -w game | awk '{print $2}'    取含有game的行的第二列

    awk ''/game/{print $2}' linux

    awk -F " " 'NR==5{print $2}' linux                 空格为分界符 取第五行的第二列

    df -h | awk '{print $2}'                                   取df- h的第二列

    df -h | awk '{print $3,$5}'                               ---------3 5列

    date | awk '{print "Year:" $1 "\nMonth:" $2}'      Year:2018

                                                                                Moth: 09

    cut

    cut -d " " -f 2 linux                                       截取第二列

    cut -d " " -f 1,3 linux                                     截取一三列

    cut -d: -f1 passwd  截取第一列d后面为分隔符

    cut -d: -f1,3 passwd

    cut -c1-6 passwd 前6个字符的列

    cut -c6-12 passwd

    cu -c6- passwd  6到最后

    sort:将文件的每一行作为一个单位,从首字符向后,依次按ASCII码值进行比较

    -u :去除重复行

    -r :降序排列,默认是升序

    -o : 将排序结果输出到文件中  类似 重定向符号>

    -n :以数字排序,默认是按字符排序

    -t :分隔符

    -k :第N列

    -b :忽略前导空格。

    -R :随机排序,每次运行的结果均不同。

    sort -nr -t: -k3 passwd 分隔符为:第三列 降序

    sort -n linux                                                 按1-11排序

    sort -n -r linux                                              按11-1排序

    sort -k 2 linux                                               第二列按a-z排序

    sort -k 2 -r linux                                            第二列按z-a排序

    sort u config                                                  删除重复行

    sort -nu 1.txt -o 2.txt 重定向

    tee工具

    tee工具从标准输入读取并写入标准输出和文件,即:双向覆盖重定向<屏幕输出|文本输入>

    -a 双向追加重定向

    echo hello | tee 1.txt   

    echo world | tee -a 1.txt 追加

    paste工具

    paste工具用于合并文件行

    -d:自定义间隔符,默认是tab

    -s:串行处理,非并行

    paste 1.txt 2.txt 合并

    paste -d@ 1.txt 2.txt 文件间的分隔符为@

    paste -s 1.txt 2.txt 串行处理

    wc

    wc -l /etc/passwd                                        行数

    wc -w /etc/passwd                                       字数(单词数)

    wc -c /etc/passwd                                                 字节数

    wc -lwc /etc/passwd /etc/fstab                            行数字数字节数总量

    find

    find  / -name config                                             查找指定文件config的路径

    find  / -name config*                                            查找所有带config单词的路径         

    find  /etc -name ifcfg*                                          查找etc下所有带ifcfg单词的路径

    find / -type 

    b                                   -块设备

    d                                   -目录

    c                                    -字符设备文件

    p                                    -管道文件

    l                                     -符号链接文件

    f                                     -普通文件

    相关文章

      网友评论

        本文标题:linux基础2(字符管理)

        本文链接:https://www.haomeiwen.com/subject/uagkfqtx.html