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

  • 相关阅读:
    第一部分 Linux的规划与安装
    第二部分 Linux 文件、目录与磁盘格式
    for in 遍历对象
    时间
    javaScript模块化
    Hbuilder将移动app或者web项目打包
    echarts的通用属性的介绍
    echart的x轴或y轴区间标签如何从大到小排列
    数组的sort()排序
    解决vscode下载很慢的问题
  • 原文地址:https://www.cnblogs.com/renping/p/7112337.html
Copyright © 2011-2022 走看看