zoukankan      html  css  js  c++  java
  • Linux常用命令2

    字符转换命令: tr, col, join, paste, expand

    tr

    tr 可以用来删除一段讯息当中的文字,或者是进行文字讯息的替换!

    [root@www ~]# tr [-ds] SET1 ...
    选项与参数:
    -d :删除讯息当中的 SET1 这个字符串;
    -s :取代掉重复的字符!
    范例一:将 last 输出的讯息中,所有的小写变成大写字符:
    [root@www ~]# last | tr '[a-z]' '[A-Z]'
    # 事实上,没有加上单引号也是可以执行的,如:『 last | tr [a-z] [A-Z] 』
    范例二:将 /etc/passwd 输出的讯息中,将冒号 (:) 删除
    [root@www ~]# cat /etc/passwd | tr -d ':'
    
    

    col

    [root@www ~]# col [-xb]
    选项与参数:
    -x :将 tab 键转换成对等的空格键
    -b :在文字内有反斜杠 (/) 时,仅保留反斜杠最后接的那个字符
    范例一:利用 cat -A 显示出所有特殊按键,最后以 col 将 [tab] 转成空白
    [root@www ~]# cat -A /etc/man.config <==此时会看到很多 ^I 的符号,那
    就是 tab
    [root@www ~]# cat /etc/man.config | col -x | cat -A | more
    # 嘿嘿!如此一来, [tab] 按键会被取代成为空格键,输出就美观多了!
    范例二:将 col 的 man page 转存成为 /root/col.man 的纯文本档
    [root@www ~]# man col > /root/col.man
    [root@www ~]# vi /root/col.man
    COL(1) BSD General Commands Manual COL(1)
    N^HNA^HAM^HME^HE
     c^Hco^Hol^Hl - filter reverse line feeds from input
    S^HSY^HYN^HNO^HOP^HPS^HSI^HIS^HS
     c^Hco^Hol^Hl [-^H-b^Hbf^Hfp^Hpx^Hx] [-^H-l^Hl
    _^Hn_^Hu_^Hm]
    # 你没看错!由于 man page 内有些特殊按钮会用来作为类似特殊按键与颜色显
    示,
    # 所以这个档案内就会出现如上所示的一堆怪异字符(有 ^ 的)
    [root@www ~]# man col | col -b > /root/col.man
    

    join

    join 看字面上的意义 (加入/参加) 就可以知道,他是在处理两个档案之间的数据, 而且,主要是在处理
    『两个档案当中,有 "相同数据" 的那一行,才将他加在一起』的意思

    [root@www ~]# join [-ti12] file1 file2
    选项与参数:
    -t :join 默认以空格符分隔数据,并且比对『第一个字段』的数据,
     如果两个档案相同,则将两笔数据联成一行,且第一个字段放在第一个!
    -i :忽略大小写的差异;
    -1 :这个是数字的 1 ,代表『第一个档案要用那个字段来分析』的意思;
    -2 :代表『第二个档案要用那个字段来分析』的意思。
    
    
    有两个文件
    
    stu.txt
    01 zhangsan 23 man
    02 lisi 24 woman
    03 wangwu 25 man
    
    class.txt
    01 3
    02 2
    03 1
    
    将这两个文件进行join
    [root@iz2zedroc0yv90u3zvx212z ~]# join stu class
    01 zhangsan 23 man
    02 lisi 24 woman
    03 wangwu 25 man
    

    paste

    paste 直接『将两行贴在一起,且中间以 [tab] 键隔开』!

    [root@www ~]# paste [-d] file1 file2
    选项与参数:
    -d :后面可以接分隔字符。预设是以 [tab] 来分隔的!
    - :如果 file 部分写成 - ,表示来自 standard input 的资料的意思。
    范例一:将 /etc/passwd 与 /etc/shadow 同一行贴在一起
    [root@www ~]# paste /etc/passwd /etc/shadow
    bin:x:1:1:bin:/bin:/sbin/nologin bin:*:14126:0:99999:7:::
    daemon:x:2:2:daemon:/sbin:/sbin/nologin daemon:*:14126:0:99999:7:::
    adm:x:3:4:adm:/var/adm:/sbin/nologin adm:*:14126:0:99999:7:::
    # 注意喔!同一行中间是以 [tab] 按键隔开的!
    范例二:先将 /etc/group 读出(用 cat),然后与范例一贴上一起!且仅取出前三
    行
    [root@www ~]# cat /etc/group|paste /etc/passwd /etc/shadow -|head -n
    3
    # 这个例子的重点在那个 - 的使用!那玩意儿常常代表 stdin 喔!
    

    文件切分命令 split

    如果你有档案太大,导致一些携带式装置无法复制的问题,嘿嘿!找 split 就对了! 他可以帮你将一个
    大档案,依据档案大小或行数来分割,就可以将大档案分割成为小档案了! 快速又有效啊!真不错~

    [root@www ~]# split [-bl] file PREFIX
    选项与参数:
    -b :后面可接欲分割成的档案大小,可加单位,例如 b, k, m 等;
    -l :以行数来进行分割。
    PREFIX :代表前导符的意思,可作为分割档案的前导文字。
    范例一:我的 /etc/termcap 有七百多 K,若想要分成 300K 一个档案时?
    [root@www ~]# cd /tmp; split -b 300k /etc/termcap termcap
    [root@www tmp]# ll -k termcap*
    -rw-r--r-- 1 root root 300 Feb 7 16:39 termcapaa
    -rw-r--r-- 1 root root 300 Feb 7 16:39 termcapab
    -rw-r--r-- 1 root root 189 Feb 7 16:39 termcapac
    # 那个档名可以随意取的啦!我们只要写上前导文字,小档案就会以
    # xxxaa, xxxab, xxxac 等方式来建立小档案的!
    范例二:如何将上面的三个小档案合成一个档案,档名为 termcapback
    [root@www tmp]# cat termcap* >> termcapback
    # 很简单吧?就用数据流重导向就好啦!简单!
    范例三:使用 ls -al / 输出的信息中,每十行记录成一个档案
    [root@www tmp]# ls -al / | split -l 10 - lsroot
    [root@www tmp]# wc -l lsroot*
     10 lsrootaa
     10 lsrootab
     6 lsrootac
     26 total
    

    Linux WordCount

    awk 'BEGIN{FS=","} { for(i=1;i<=NF;i++) {print $i} }' wc.txt |sort|uniq -c|sort -r |awk '{print $2","$1}'
    
    
    awk -F "," '{for(i=1;i<=NF;i++) {print $i}}' wc.txt |sort|uniq -c|sort -r|awk '{print $2,$1}'
    
  • 相关阅读:
    电脑蓝屏的原因及解决方法
    或将引爆第四次工业革命!一张图带你看完人工智能大事件
    sata2.0和sata3.0的区别
    15款顶级的开源人工智能工具推荐
    解读神秘而又强大的百度人工智能计算机
    人工智能让程序员自危:码农大批失业
    电脑开机黑屏只有光标在闪怎么办
    关于XSS漏洞的简介以及分类
    SSD知识
    centos7下安装docker(15.5容器跨主机网络--flanneld)
  • 原文地址:https://www.cnblogs.com/maguangyi/p/14215220.html
Copyright © 2011-2022 走看看