解决方法分为如下三步:

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

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

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

1 检测分隔符

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

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

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

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

2 去除重复的空格字符

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

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

cat file | tr "\t" " " | tr -s " "

3 单词分割

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

cut  -d ' ' -f 1

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

最新文章

  1. HDU 1690 Bus System
  2. freeCodeCamp:Slasher Flick
  3. js中的继承
  4. 《zw版·Halcon-delphi系列原创教程》 Halcon分类函数004·edge,边缘处理
  5. JavaScript学习记录总结(九)——移动添加效果
  6. netbeans中wicket插件对应的jQuery-ui版本
  7. JavaScript “完美运动框架”
  8. webservice简单总结
  9. VS2005上一个坑:关于pch 的 error C1023
  10. hdu 3631
  11. Spring MVC中基于注解的 Controller
  12. C#和asp.net中链接数据库中 参数的几种传递方法
  13. RFC端口号定义
  14. 基于Visual C++2013拆解世界五百强面试题--题16-进制分析
  15. 解决 下载 CM-12.0 源代码出现 Fatal: duplicate project .....问题
  16. WPF技术触屏上的应用系列(五): 图片列表异步加载、手指进行缩小、放大、拖动 、惯性滑入滑出等效果
  17. 【Beta】 第七次Daily Scrum Meeting
  18. 201521123013 《Java程序设计》第8周学习总结
  19. hdu1356&hdu1944 博弈论的SG值(王道)
  20. Django media 配置

热门文章

  1. P4773 红鲤鱼与绿鲤鱼
  2. [算法]数组的partition调整
  3. 中国剩余定理的应用:猪的安家 ->福州大学 OJ
  4. castle windsor学习----- Referencing types in XML 在xm文件中引用类型
  5. ajax如何处理返回的数据格式是xml的情况
  6. DELPHI中四种EXCEL访问技术实现
  7. 浅谈WebService开发(一)
  8. node.js+express+jade系列四:jade嵌套的使用
  9. gradle_学习_00_资源贴
  10. JS判断2个时间是否在同一周