zoukankan      html  css  js  c++  java
  • 12、多空格&多制表符文本之cut域分割终极方案

    解决方法分为如下三步:

    (1)        使用“tr”命令将制表符转换为空格;

    (2)        使用“tr”命令将多个重复空格删除,保留一个空格;

    (3)        使用“cut”命令进行域分割,输出正确结果。

    1 检测分隔符

    cat file | sed -n l  #或者cat -A file

    上面显示内容中,对于空格仍然按照原样显示,出现多处空白的就表示多个空格字符。

    制表符Tab则显示为“ ”,出现多个“ ”就表示多个制表符在一起。(cat -A命令中、 变为^I)

    可以看出该文件中既有多个空格连在一起,也有多个制表符连在一起。

    2 去除重复的空格字符

    去重是使用“tr”命令,使用-s选项,命令为“tr  -s  " "”。

    使用该命令对转换制表符为空格后的输出结果进行去除重复空格字符(只保留一个空格字符),其完整命令和输出如下所示:

    cat file | tr " " " " | tr -s " "

    3 单词分割

    使用命令cut的域分割进行单词的分割切分,例如需要提取分割每行的第一个单词,其命令为

    cut  -d ' ' -f 1

    总结: cat file | tr ' ' ' ' | tr -s ' ' | cut -d ' ' -f 1,3

  • 相关阅读:
    音频可视化
    accunulate
    node
    js 中编码(encode)和解码(decode)的三种方法
    ES6高阶 同步和异步 回调地狱 promise async和await
    区间dp
    树形dp1
    背包dp(多重)
    树形dp
    背包dp(完全)
  • 原文地址:https://www.cnblogs.com/renping/p/7112337.html
Copyright © 2011-2022 走看看