zoukankan      html  css  js  c++  java
  • linux

    先新建一个文件,并写入一些东西,方便测试, 从passwd里复制几行吧

    $ head -n 10 /etc/passwd > passwd
    t$ ll
    总用量 12
    drwxrwxr-x  2 huanghao huanghao 4096  3月  3 11:55 ./
    drwxr-xr-x 19 huanghao huanghao 4096  3月  1 14:04 ../
    -rw-rw-r--  1 huanghao huanghao  424  3月  3 11:55 passwd
    $ cat passwd
    root:x:0:0:root:/root:/bin/bash
    daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
    bin:x:2:2:bin:/bin:/usr/sbin/nologin
    sys:x:3:3:sys:/dev:/usr/sbin/nologin
    sync:x:4:65534:sync:/bin:/bin/sync
    games:x:5:60:games:/usr/games:/usr/sbin/nologin
    man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
    lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
    mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
    news:x:9:9:news:/var/spool/news:/usr/sbin/nologin

    首先熟悉几个命令:

    cat  查看文件所有内容,一次性打印所有内容

    less 查看文件所有内容,但是可以pageup , pagedown上下翻页,q退出

    more  查看文件所有内容,按空格一页一页翻,按回车一行一行翻, 但是只能往下翻

    head   默认查看文件头10行,可以加-n参数定义行数

    tail     默认查看文件末尾10行,可以加-n参数定义行数


    cut 截断,

    $ cut -d : -f 2 passwd     #以:分隔, 显示第2列
    x
    x
    x
    x
    x
    x
    x
    x
    x
    x
    $ head -n 1 passwd | cut -c1-3    #显示passwd文件第一行的1-3个字符
    roo
    
    $ cut -c1-3 passwd           #显示所有行的1-3个字符
    roo
    dae
    bin
    sys
    syn
    gam
    man
    lp:
    mai
    new

    sort 排序

    $ cat passwd |sort                #默认按第一个字符排序
    bin:x:2:2:bin:/bin:/usr/sbin/nologin
    daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
    games:x:5:60:games:/usr/games:/usr/sbin/nologin
    lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
    mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
    man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
    news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
    root:x:0:0:root:/root:/bin/bash
    sync:x:4:65534:sync:/bin:/bin/sync
    sys:x:3:3:sys:/dev:/usr/sbin/nologin
    $ sort -t : -k 3 -n passwd
    root:x:0:0:root:/root:/bin/bash
    daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
    bin:x:2:2:bin:/bin:/usr/sbin/nologin
    sys:x:3:3:sys:/dev:/usr/sbin/nologin
    sync:x:4:65534:sync:/bin:/bin/sync
    games:x:5:60:games:/usr/games:/usr/sbin/nologin
    man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
    lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
    mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
    news:x:9:9:news:/var/spool/news:/usr/sbin/nologin

    -t     以…分隔

    -k    是以哪一列来排序

    -n    是以数字形式排序,比如11, 2,如果不加-n,可能11就排在2前面,因为第一个字符1比2小。

    -r    反向排序

    现在来年组合应用,排序后只显示第三列,直观感受排序

    $ sort -t : -k 3 -n passwd |cut -d : -f3
    0
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $ sort -t : -k 4 -n passwd |cut -d : -f3-4
    0:0
    1:1
    2:2
    3:3
    7:7
    8:8
    9:9
    6:12
    5:60
    4:65534


    grep

    grep -A2 -B2 games /etc/passwd                 #上两行,下两行
    sys:x:3:3:sys:/dev:/usr/sbin/nologin
    sync:x:4:65534:sync:/bin:/bin/sync
    games:x:5:60:games:/usr/games:/usr/sbin/nologin
    man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
    lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
    huanghao@huanghao-Virtual-Machine:~/test$

    wc  统计

    $ cat passwd |wc
         10      10     424                       #行数,单词数,字符数

    -l       显示行数

    -w     显示单词数

    -c      显示字符数

    $ head -n 8 passwd |wc -l
    8

    uniq  去年相邻的重复行,只保留一个


    正则表达式:

    . 一个或多个任意字符
    * 零个或多个前面的字符
    a+ 一个或多个a
    [] 括号中任何一个字符
    [^] 非括号中任何一个字符
    ^ 以…开头
    $ 以….结尾
    <s….k> 以s开头,以k结尾,中间有四个字母的单词
    <s 以s开头的单词
    a{18} a 重复18次
    .{40,} 40个字母以上的单词
    .{40,50} 40-50个字母的单词

    来个组合应用一下:

    $ grep '^i.{14,}n$' /usr/share/dict/words      #以i开头,n结尾,14个字母以上的单词
    industrialization

    再来一个:

    $ grep -v '^#' /etc/colord.conf |grep -v '^$' |wc -l
    6
    这个是什么意思呢?配置文件里通常会有很多#号开头的注释行,还有很多空行,那这个命令的意思就是 统计所有不以#号开头而且不是空行的行数。’^$’一开始就结束 表示是空行。
  • 相关阅读:
    hdu 1017 A Mathematical Curiosity 解题报告
    hdu 2069 Coin Change 解题报告
    hut 1574 组合问题 解题报告
    hdu 2111 Saving HDU 解题报
    hut 1054 Jesse's Code 解题报告
    hdu1131 Count the Trees解题报告
    hdu 2159 FATE 解题报告
    hdu 1879 继续畅通工程 解题报告
    oracle的系统和对象权限
    oracle 自定义函数 返回一个表类型
  • 原文地址:https://www.cnblogs.com/huangxm/p/5238680.html
Copyright © 2011-2022 走看看