使用Unix操作系统需要好习惯

系统 其他OS
学习使用Unix操作系统时,就应该学习使用命令行,本文主要将Unix操作系统使用 awk 处理数据,awk 处理 $ cat text等。

当我们学习使用Unix操作系统时,我们就应该学习使用命令行,这对我们养成良好的习惯很有帮助。您的不良习惯甚至会导致出现混乱。纠正此类缺点的最佳方法之一,就是有意识地采用抵制这些坏习惯的好习惯。我们在文章中提出了几个值得采用的 Unix操作系统命令行习惯。

Unix操作系统使用 awk 处理数据

awk 命令似乎始终处在 Perl 的阴影下,但它对于简单、基于命令行的数据处理来说是一个快速、实用的工具。清单 15 显示了如何开始使用 awk 命令。

若要获取文件中每行文本的长度,请使用 length() 函数。若要查看字符串 ing 是否出现在文件文本中,请使用 index() 函数,该函数返回 ing 首次出现的位置,这样您就可以使用它来进行进一步的字符串处理。若要 tokenize(也就是说,将一行拆分为单词长度的片段)某个字符串,请使用 split() 函数。

Unix操作系统基本 awk 处理 $ cat text

  1. testing the awk command  
  2. $ awk '{ i = length($0); print i }' text  
  3. 23  
  4. $ awk '{ i = index($0,”ing”); print i}' text  
  5. 5  
  6. $ awk 'BEGIN { i = 1 } { n = split($0,a," "); while (i <= n) {print a; i++;} }' text  
  7. testing   
  8. the  
  9. awk  
  10. command 

打印文本文件中的指定字段是一项简单的 awk 任务。在清单 16 中,sales 文件包含每个销售人员的姓名,后跟每月销售数字。您可以使用 awk 命令来快速获得每个月的销售总额。缺省情况下,awk 将每个以逗号分隔的值视为不同的字段。您使用 $n 操作符来访问每个字段。

Unix操作系统使用 awk 对数据进行汇总 $cat sales

  1. Gene,12,23,7  
  2. Dawn,10,25,15  
  3. Renee,15,13,18  
  4. David,8,21,17  
  5. $ awk -F, '{print $1,$2+$3+$4}' sales  
  6. Gene 42  
  7. Dawn 50  
  8. Renee 46  
  9. David 46 

awk 命令可以很复杂并应用于广泛的情景中。若要更完整地学习Unix操作系统awk 命令,请从命令 man awk 开始。

使用Unix操作系统以上的方法,成为命令行高手需要进行一些实践。按照相同的方式处理问题很简单,因为您已经习惯了。在漫漫学习Unix操作系统中,让我们慢慢成长吧!

【编辑推荐】

  1. 管理Unix操作系统交换区
  2. 讲述Unix操作系统环境
  3. 防止入侵Unix操作系统决策
  4. 无Unix操作系统安全之忧
  5. 快清理你的Unix操作系统吧

 

责任编辑:小霞
相关推荐

2010-04-08 12:49:00

Unix操作系统

2010-04-08 11:17:06

Unix操作系统

2010-04-08 13:06:02

Unix操作系统

2022-10-08 10:42:20

Linux虚拟机

2010-04-15 11:15:04

2010-04-19 13:31:06

Unix操作系统

2010-04-13 12:27:44

Unix操作系统

2010-04-16 16:29:57

Unix操作系统

2010-04-15 10:45:57

2010-04-15 14:40:26

Unix操作系统

2010-04-07 14:32:47

Unix操作系统

2010-04-09 16:26:20

Unix操作系统

2010-04-16 14:23:52

Unix操作系统

2010-04-19 15:11:25

Unix操作系统

2010-04-19 18:18:30

Unix操作系统

2010-04-19 17:39:50

Unix操作系统

2010-04-16 17:19:58

Unix操作系统

2010-04-14 13:59:45

Unix操作系统

2010-04-16 17:49:28

Unix操作系统

2010-04-08 17:56:42

Unix操作系统
点赞
收藏

51CTO技术栈公众号