zoukankan      html  css  js  c++  java
  • cut,xargs,sort,tr,rename命令解析

    cut

    文件内容查看

    显示行中的指定部分,删除文件中指定字段

    显示文件的内容,类似于下的type命令。

    语法:

     cut(选项)(参数)

    选项:

    -b:仅显示行中指定直接范围的内容;

    -c:仅显示行中指定范围的字符;

    -d:指定字段的分隔符,默认的字段分隔符为“TAB”;

    -f:显示指定字段的内容;

    -n:与“-b”选项连用,不分割多字节字符;

    --complement:补足被选择的字节、字符或字段;

    --out-delimiter=<字段分隔符>:指定输出内容是的字段分割符;

    --help:显示指令的帮助信息;

    --version:显示指令的版本信息。

    参数:

    文件:指定要进行内容过滤的文件

    ==================================================================================

    xargs

    xargs用作替换工具,读取输入数据重新格式化后输出。

    定义一个测试文件,内有多行文本数据:

    cat test.txt

    a b c d e f g

    h i j k l m n

    o p q

    r s t

    u v w x y z

    多行输入单行输出:

    cat test.txt | xargs

    a b c d e f g h i j k l m n o p q r s t u v w x y z

    -n选项多行输出:

    cat test.txt | xargs -n3

    a b c

    d e f

    g h i

    j k l

    m n o

    p q r

    s t u

    v w x

    y z

    -d选项可以自定义一个定界符:

    echo "nameXnameXnameXname" | xargs -dX

    name name name name

    结合-n选项使用:

    echo "nameXnameXnameXname" | xargs -dX -n2

    name name

    name name

    xargs的一个选项-I,使用-I指定一个替换字符串{},这个字符串在xargs扩展时会被替换掉,当-I与xargs结合使用,每一个参数命令都会被执行一次:

    cat arg.txt | xargs -I {} ./sk.sh -p {} -l

    -p aaa -l

    -p bbb -l

    -p ccc -l

    复制所有图片文件到 /data/images 目录下:

    ls *.jpg | xargs -n1 -I cp {} /data/images

    =====================================================================================
    sort

    sort命令是帮我们依据不同的数据类型进行排序,其语法及常用参数格式:

      sort [-bcfMnrtk][源文件][-o 输出文件]
    sort可针对文本文件的内容,以行为单位来排序。

    参  数:
      -b   忽略每行前面开始出的空格字符。
      -c   检查文件是否已经按照顺序排序。
      -f   排序时,忽略大小写字母。
      -M   将前面3个字母依照月份的缩写进行排序。
      -n   依照数值的大小排序。
      -o<输出文件>   将排序后的结果存入指定的文件。
      -r   以相反的顺序来排序。
      -t<分隔字符>   指定排序时所用的栏位分隔字符。
      -k  选择以哪个区间进行排序。

    ==========================================================================

    tr
    tr [选项]… 集合1 [集合2]

    选项:

    -c, -C, –complement 用集合1中的字符串替换,要求字符集为ASCII。

    -d, –delete 删除集合1中的字符而不是转换

    -s, –squeeze-repeats 删除所有重复出现字符序列,只保留第一个;即将重复出现字符串压缩为一个字符串。

    -t, –truncate-set1 先删除第一字符集较第二字符集多出的字符

    字符集合的范围:

    NNN 八进制值的字符 NNN (1 to 3 为八进制值的字符)

    \ 反斜杠

    a Ctrl-G 铃声

     Ctrl-H 退格符

    f Ctrl-L 走行换页

    Ctrl-J 新行

    Ctrl-M 回车

    Ctrl-I tab键

    v Ctrl-X 水平制表符

    CHAR1-CHAR2 从CHAR1 到 CHAR2的所有字符按照ASCII字符的顺序

    [CHAR*] in SET2, copies of CHAR until length of SET1

    [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0

    [:alnum:] 所有的字母和数字

    [:alpha:] 所有字母

    [:blank:] 水平制表符,空白等

    [:cntrl:] 所有控制字符

    [:digit:] 所有的数字

    [:graph:] 所有可打印字符,不包括空格

    [:lower:] 所有的小写字符

    [:print:] 所有可打印字符,包括空格

    [:punct:] 所有的标点字符

    [:space:] 所有的横向或纵向的空白

    [:upper:] 所有大写字母

    =========================================================================

    rename

    参数:

    -v 表示会显示修改成功的文件名;

    -n 则表示不执行任何操作,主要用来测试rename过程,并不直接运行,可以查看测试效果后,然后再运行;

    -f 则表示会强制修改。

    将文件名称的大写全部转换为小写则为:

    rename 'y/A-Z/a-z/' *

    *.JPG更名为*.jpg则可以用:

    rename *.JPG *.jpg

  • 相关阅读:
    SQLAlchemy介绍
    Flask介绍
    逆转的生殖——形而下的EOE补完仪式…
    huiyin
    实验课上
    我的博客今天1岁213天了,我领取了…
    关于直接写屏
    OceanBorn&nbsp;&nbsp;歌曲列表
    Gethsemane
    光辉岁月-Beyond
  • 原文地址:https://www.cnblogs.com/ZCQ123456/p/11482038.html
Copyright © 2011-2022 走看看