zoukankan      html  css  js  c++  java
  • csplit命令

    csplit命令

    csplit命令将用PATTERN分隔的FILE文件输出到文件xx00xx01...,并将每个文件的字节数输出到标准输出。

    语法

    csplit [OPTION]... FILE PATTERN...
    

    参数

    • -b, --suffix-format=FORMAT: 使用sprintf FORMAT格式而不是%02d
    • -f, --prefix=PREFIX: 使用PREFIX代替xx
    • -k, --keep-files: 出错时不要删除输出文件。
    • -m, --suppress-matched: 取消匹配PATTERN的行。
    • -n, --digits=DIGITS: 使用指定的数字位数,而不是2
    • -s, --quiet, --silent: 不要打印输出文件大小的计数。
    • -z, --elide-empty-files: 删除空输出文件。
    • --help: 输出帮助信息。
    • --version: 输出版本信息。

    模式

    如果文件被指定为破折号-csplit将读取标准输入,每种模式可能是:

    • INTEGER: 复制到指定行号,但不包括指定行号。
    • /REGEXP/[OFFSET]: 复制到但不包括匹配行。
    • %REGEXP%[OFFSET]: 跳至但不包括匹配行。
    • {INTEGER}: 重复上一个模式指定的次数。
    • {*}: 尽可能多次重复前面的模式。

    示例

    list.txt文件内容如下:

    1. Apples
    2. Bananas
    3. Oranges
    4. Pineapples
    5. Guava
    

    使用csplit命令将此文件分为两部分,第二部分从第三行开始。

    csplit list.txt 3
    # 21
    # 34
    
    cat xx00
    # 1. Apples
    # 2. Bananas
    
    cat xx01
    # 3. Oranges
    # 4. Pineapples
    # 5. Guava
    

    使用csplit命令将此文件分为三部分。

    csplit list.txt 2 3
    # 21
    # 34
    
    cat xx00
    # 1. Apples
    
    cat xx01
    # 2. Bananas
    
    cat xx02
    # 3. Oranges
    # 4. Pineapples
    # 5. Guava
    

    使用自定义的分割前缀aa代替xx分割前缀。

    csplit list.txt -f aa 3
    # 21
    # 34
    
    ls
    # aa00  aa01 list.txt
    

    使用三位数字代替默认的两位数字。

    csplit list.txt -n 3 3
    # 21
    # 34
    
    ls
    # list.txt  xx000  xx001
    

    使用模式定义分割规则,重复上一个模式指定的次数。

    csplit list.txt 2 {1}
    # 10
    # 22
    # 23
    
    ls xx*
    # xx00  xx01  xx02
    

    每日一题

    https://github.com/WindrunnerMax/EveryDay
    

    参考

    https://www.computerhope.com/unix/ucsplit.htm
    https://www.runoob.com/linux/linux-comm-csplit.html
    https://www.geeksforgeeks.org/csplit-command-in-linux-with-examples/
    
  • 相关阅读:
    LeetCode 382. Linked List Random Node
    LeetCode 398. Random Pick Index
    LeetCode 1002. Find Common Characters
    LeetCode 498. Diagonal Traverse
    LeetCode 825. Friends Of Appropriate Ages
    LeetCode 824. Goat Latin
    LeetCode 896. Monotonic Array
    LeetCode 987. Vertical Order Traversal of a Binary Tree
    LeetCode 689. Maximum Sum of 3 Non-Overlapping Subarrays
    LeetCode 636. Exclusive Time of Functions
  • 原文地址:https://www.cnblogs.com/WindrunnerMax/p/13967947.html
Copyright © 2011-2022 走看看