美文网首页
Linux文本处理

Linux文本处理

作者: liyin_d64b | 来源:发表于2018-10-18 19:56 被阅读0次
    上期回顾:
    cut -d -f 1-3 /ect/passwd
    
    文本排序sort
    $ sort /etc/fstab 
    debugfs              /sys/kernel/debug    debugfs    noauto                0 0
    devpts               /dev/pts             devpts     mode=0620,gid=5       0 0
    /dev/vda1            /                    ext3       noatime,acl,user_xattr 1 1
    /dev/vdb1 /public ext3 defaults 0 0
    /dev/vdc /home ext3 defaults 0 0
    #/dev/vdf /trainee ext3 defaults 0 0
    /mnt/10GiB.swap swap swap defaults 0 0
    proc                 /proc                proc       defaults              0 0
    sysfs                /sys                 sysfs      noauto                0 0
    $ sort sor.tdt #数字开头排序
    214124
    2423534
    587
    6
    645
    65
    679
    76
    78
    8
    867
    9
    $ sort -n sor.tdt  #数字大小排序
    6
    8
    9
    65
    76
    78
    587
    645
    679
    867
    214124
    2423534
    $ sort -r sor.tdt #-r reverse
    9
    867
    8
    78
    76
    679
    65
    645
    6
    587
    2423534
    214124
    $ sort -n -r sor.tdt # reverse and numeric
    2423534
    214124
    867
    679
    645
    587
    78
    76
    65
    9
    8
    6
    sort -t #字段分隔符
    sort -k #以那个字段排序
    
    sort -t: -k3 /etc/passwd
    root:x:0:0:root:/root:/bin/bash
    jmzeng:x:1000:1000:,,,:/home/jmzeng:/bin/bash
    systemd-timesync:x:100:102:systemd Time Synchronization,,,:/run/systemd:/bin/false
    spguo:x:1001:1003:,,,:/home/spguo:/bin/bash
    fzhao:x:1002:1004:,,,:/home/fzhao:/bin/bash
    zgxu:x:1003:1005:,,,:/home/zgxu:/bin/bash
    myshen:x:1004:1006:,,,:/home/myshen:/bin/bash
    syqu:x:1006:1008:,,,:/home/syqu:/bin/bash
    
    $ sort -t: -k4 -n /etc/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
    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
    uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
    man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
    proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
    
    sort -u #排序后相同的行只显示一次
    sort - f #排序时忽略大小写(不区分大小写)
    
    $ uniq -d sor.tdt 
    123
    $ uniq -D sor.tdt 
    123
    123
    $ uniq -c sor.tdt 
          1 214124
          1 23
          2 123
          1 2423534
          1 645
          1 65
          1 76
          1 587
          1 6
          1 867
          1 8
          1 679
          1 78
          1 9
    

    文本统计

    wc (word count)
    $ wc sor.tdt 
    15 15 57 sor.tdt #15行,15个单词,57个字符
    
      $ wc -c sor.tdt 
    57 sor.tdt
    $ wc -l sor.tdt 
    15 sor.tdt
    $ wc -w sor.tdt 
    15 sor.tdt
    $ wc -m sor.tdt 
    57 sor.tdt
    $ wc -L sor.tdt #最长的一行包括多少字符
    7 sor.tdt
    
    

    字符处理命令

    tr #转换或删除字符
    
    $ tr 'ab' 'AB' < /etc/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
    
     tr 'a-z' 'A-Z' < /etc/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
    
    tr -d '2' < ./sor.tdt 
    1414
    3
    13
    13
    43534
    645
    65
    76
    587
    6
    867
    8
    679
    78
    9
    $ cat sor.tdt 
    214124
    23
    123
    123
    2423534
    645
    65
    76
    587
    6
    867
    8
    679
    78
    9
    
    
    
    

    bash

    yli@biotrainee:~$ pstree
    systemd─┬─accounts-daemon─┬─{gdbus}
            │                 └─{gmain}
            ├─acpid
            ├─2*[agetty]
            ├─atd
            ├─barad_agent─┬─barad_agent
            │             └─barad_agent───2*[{barad_agent}]
            ├─bash───shiny-server─┬─4*[{V8 WorkerThread}]
            │                     └─5*[{shiny-server}]
            ├─2*[bash───bash───samtools───3*[{samtools}]]
            ├─cron
            ├─dbus-daemon
            ├─dhclient
            ├─dockerd─┬─docker-containe───30*[{docker-containe}]
            │         └─38*[{dockerd}]
            ├─frps───33*[{frps}]
            ├─2*[frps───34*[{frps}]]
            ├─2*[iscsid]
            ├─2*[lsz]
            ├─lvmetad
            ├─lxcfs───7*[{lxcfs}]
            ├─mdadm
            ├─multipathd───4*[{multipathd}]
            ├─mysqld───28*[{mysqld}]
            ├─nginx───16*[nginx]
            ├─28*[perl]
            ├─php-fpm7.0───2*[php-fpm7.0]
            ├─polkitd─┬─{gdbus}
            │         └─{gmain}
            ├─rserver───3*[{rserver}]
            ├─rsyslogd─┬─{in:imklog}
            │          ├─{in:imuxsock}
            │          └─{rs:main Q:Reg}
            ├─10*[sftp-server]
            ├─sgagent───{sgagent}
            ├─snapd───30*[{snapd}]
            ├─sshd─┬─sshd───sshd───bash───su───bash
            │      ├─3*[sshd───sshd───sftp-server]
            │      ├─6*[sshd───sshd]
            │      ├─sshd───sshd───bash───vi
            │      ├─3*[sshd───sshd───bash]
            │      ├─sshd───sshd───bash─┬─10*[sh───cufflinks───4*[{cufflinks}]]
            │      │                    └─6*[sh───cufflinks]
            │      └─sshd───sshd───sh───bash───bash───bash───bash───bash───bash───pstree
            ├─11*[systemd───(sd-pam)]
            ├─systemd-journal
            ├─systemd-logind
            ├─systemd-timesyn───{sd-resolve}
            └─systemd-udevd
    yli@biotrainee:~$ ls
    readme.txt  sor.tdt
    yli@biotrainee:~$ sudo apt updata
    [sudo] password for yli: 
    yli is not in the sudoers file.  This incident will be reported.
    yli@biotrainee:~$ ls
    readme.txt  sor.tdt
    yli@biotrainee:~$ exit
    exit
    yli@biotrainee:~$ pstree
    systemd─┬─accounts-daemon─┬─{gdbus}
            │                 └─{gmain}
            ├─acpid
            ├─2*[agetty]
            ├─atd
            ├─barad_agent─┬─barad_agent
            │             └─barad_agent───2*[{barad_agent}]
            ├─bash───shiny-server─┬─4*[{V8 WorkerThread}]
            │                     └─5*[{shiny-server}]
            ├─2*[bash───bash───samtools───3*[{samtools}]]
            ├─cron
            ├─dbus-daemon
            ├─dhclient
            ├─dockerd─┬─docker-containe───31*[{docker-containe}]
            │         └─38*[{dockerd}]
            ├─frps───33*[{frps}]
            ├─2*[frps───34*[{frps}]]
            ├─2*[iscsid]
            ├─2*[lsz]
            ├─lvmetad
            ├─lxcfs───7*[{lxcfs}]
            ├─mdadm
            ├─multipathd───4*[{multipathd}]
            ├─mysqld───28*[{mysqld}]
            ├─nginx───16*[nginx]
            ├─28*[perl]
            ├─php-fpm7.0───2*[php-fpm7.0]
            ├─polkitd─┬─{gdbus}
            │         └─{gmain}
            ├─rserver───3*[{rserver}]
            ├─rsyslogd─┬─{in:imklog}
            │          ├─{in:imuxsock}
            │          └─{rs:main Q:Reg}
            ├─10*[sftp-server]
            ├─sgagent───{sgagent}
            ├─snapd───30*[{snapd}]
            ├─sshd─┬─sshd───sshd───bash───su───bash
            │      ├─6*[sshd───sshd]
            │      ├─3*[sshd───sshd───sftp-server]
            │      ├─sshd───sshd───bash───vi
            │      ├─4*[sshd───sshd───bash]
            │      ├─sshd───sshd───bash─┬─11*[sh───cufflinks───4*[{cufflinks}]]
            │      │                    ├─3*[sh───cufflinks]
            │      │                    └─2*[sh───cufflinks───3*[{cufflinks}]]
            │      └─sshd───sshd───sh───bash───bash───bash───bash───bash───pstree
            ├─11*[systemd───(sd-pam)]
            ├─systemd-journal
            ├─systemd-logind
            ├─systemd-timesyn───{sd-resolve}
            └─systemd-udevd
    yli@biotrainee:~$ exit
    exit
    yli@biotrainee:~$ bash
    yli@biotrainee:~$ exit
    exit
    yli@biotrainee:~$ exit
    exit
    yli@biotrainee:~$ exit
    exit
    yli@biotrainee:~$ exit
    exit
    yli@biotrainee:~$ pstree
    systemd─┬─accounts-daemon─┬─{gdbus}
            │                 └─{gmain}
            ├─acpid
            ├─2*[agetty]
            ├─atd
            ├─barad_agent─┬─barad_agent
            │             └─barad_agent───2*[{barad_agent}]
            ├─bash───shiny-server─┬─4*[{V8 WorkerThread}]
            │                     └─5*[{shiny-server}]
            ├─2*[bash───bash───samtools───3*[{samtools}]]
            ├─cron
            ├─dbus-daemon
            ├─dhclient
            ├─dockerd─┬─docker-containe───31*[{docker-containe}]
            │         └─38*[{dockerd}]
            ├─frps───33*[{frps}]
            ├─2*[frps───34*[{frps}]]
            ├─2*[iscsid]
            ├─2*[lsz]
            ├─lvmetad
            ├─lxcfs───7*[{lxcfs}]
            ├─mdadm
            ├─multipathd───4*[{multipathd}]
            ├─mysqld───28*[{mysqld}]
            ├─nginx───16*[nginx]
            ├─28*[perl]
            ├─php-fpm7.0───2*[php-fpm7.0]
            ├─polkitd─┬─{gdbus}
            │         └─{gmain}
            ├─rserver───3*[{rserver}]
            ├─rsyslogd─┬─{in:imklog}
            │          ├─{in:imuxsock}
            │          └─{rs:main Q:Reg}
            ├─10*[sftp-server]
            ├─sgagent───{sgagent}
            ├─snapd───30*[{snapd}]
            ├─sshd─┬─sshd───sshd───bash───su───bash
            │      ├─3*[sshd───sshd───sftp-server]
            │      ├─6*[sshd───sshd]
            │      ├─sshd───sshd───bash───vi
            │      ├─4*[sshd───sshd───bash]
            │      ├─sshd───sshd───bash─┬─14*[sh───cufflinks───4*[{cufflinks}]]
            │      │                    ├─sh───cufflinks
            │      │                    └─sh───cufflinks───2*[{cufflinks}]
            │      └─sshd───sshd───sh───bash───pstree
            ├─11*[systemd───(sd-pam)]
            ├─systemd-journal
            ├─systemd-logind
            ├─systemd-timesyn───{sd-resolve}
            └─systemd-udevd
    yli@biotrainee:~$ exit
    exit
    $ pstree
    systemd─┬─accounts-daemon─┬─{gdbus}
            │                 └─{gmain}
            ├─acpid
            ├─2*[agetty]
            ├─atd
            ├─barad_agent─┬─barad_agent
            │             └─barad_agent───2*[{barad_agent}]
            ├─bash───shiny-server─┬─4*[{V8 WorkerThread}]
            │                     └─5*[{shiny-server}]
            ├─2*[bash───bash───samtools───3*[{samtools}]]
            ├─cron
            ├─dbus-daemon
            ├─dhclient
            ├─dockerd─┬─docker-containe───31*[{docker-containe}]
            │         └─38*[{dockerd}]
            ├─frps───33*[{frps}]
            ├─2*[frps───34*[{frps}]]
            ├─2*[iscsid]
            ├─2*[lsz]
            ├─lvmetad
            ├─lxcfs───7*[{lxcfs}]
            ├─mdadm
            ├─multipathd───4*[{multipathd}]
            ├─mysqld───28*[{mysqld}]
            ├─nginx───16*[nginx]
            ├─28*[perl]
            ├─php-fpm7.0───2*[php-fpm7.0]
            ├─polkitd─┬─{gdbus}
            │         └─{gmain}
            ├─rserver───3*[{rserver}]
            ├─rsyslogd─┬─{in:imklog}
            │          ├─{in:imuxsock}
            │          └─{rs:main Q:Reg}
            ├─10*[sftp-server]
            ├─sgagent───{sgagent}
            ├─snapd───30*[{snapd}]
            ├─sshd─┬─sshd───sshd───bash───su───bash
            │      ├─3*[sshd───sshd───sftp-server]
            │      ├─6*[sshd───sshd]
            │      ├─sshd───sshd───bash───vi
            │      ├─4*[sshd───sshd───bash]
            │      ├─sshd───sshd───bash─┬─2*[sh───cufflinks───3*[{cufflinks}]]
            │      │                    ├─13*[sh───cufflinks───4*[{cufflinks}]]
            │      │                    └─sh───cufflinks
            │      └─sshd───sshd───sh───pstree
            ├─11*[systemd───(sd-pam)]
            ├─systemd-journal
            ├─systemd-logind
            ├─systemd-timesyn───{sd-resolve}
            └─systemd-udevd
    $ exit
    logout
    Connection closing...Socket close.
    
    Connection closed by foreign host.
    
    Disconnected from remote host(新建会话 (2)) at 19:54:20.
    
    Type `help' to learn how to use Xshell prompt.
    [c:\~]$ 
    
    Connecting to 118.126.114.209:22...
    Connection established.
    To escape to local shell, press 'Ctrl+Alt+]'.
    
    WARNING! The remote SSH server rejected X11 forwarding request.
    Welcome to Ubuntu 16.04.3 LTS (GNU/Linux 4.4.0-91-generic x86_64)
    
     * Documentation:  https://help.ubuntu.com
     * Management:     https://landscape.canonical.com
     * Support:        https://ubuntu.com/advantage
    New release '18.04.1 LTS' available.
    Run 'do-release-upgrade' to upgrade to it.
    
    
    Last login: Thu Oct 18 19:52:27 2018 from 110.187.211.131
    $ 
    
    
    
    
    
    

    相关文章

      网友评论

          本文标题:Linux文本处理

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