A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 庭院深深深几许 金牌黑马   /  2019-4-17 11:45  /  709 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  想必大家或多或少了解CSV把,看下图标你就知道了

  了解它的特性:使用英文逗号分隔。
 


 使用Excel打开看看,用英文逗号风格,成功!


  CSV: 逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)。纯文本意味着该文件是一个字符序列,不含必须像二进制数字那样被解读的数据。CSV文件由任意数目的记录组成,记录间以某种换行符分隔;每条记录由字段组成,字段间的分隔符是其它字符或字符串,最常见的是逗号或制表符。通常,所有记录都有完全相同的字段序列。通常都是纯文本文件。建议使用WORDPAD或是记事本(NOTE)来开启,再则先另存新档后用EXCEL开启,也是方法之一。
  我们再来看看awk命令:
  awk命令:
  awk是行处理器: 相比较屏幕处理的优点,在处理庞大文件时不会出现内存溢出或是处理缓慢的问题,通常用来格式化文本信息
  awk处理过程: 依次对每一行进行处理,然后输出
  基本用法: [arvin@ArvinWoo ~]$ awk 动作 文件名
  [arvin@ArvinWoo home]$ echo 'This Is A Text , Arvin Woo !!' | awk '{print $0}'
  This Is A Text , Arvin Woo !!
  [arvin@ArvinWoo home]$ echo 'This Is A Text , Arvin Woo !!' | awk '{print $1}'
  This
  [arvin@ArvinWoo home]$ echo 'This Is A Text , Arvin Woo !!' | awk '{print $2}'
  Is
  [arvin@ArvinWoo home]$ echo 'This Is A Text , Arvin Woo !!' | awk '{print $1 $2 $4 $3 }'
  ThisIsTextA


  awk -F 指定分隔符
  如:使用命令 复制/ect/passwd 文件 到当前用户目录。
  以 passwd 文件为例,里面内容如下(该文件是用 ":" 进行分隔的):
  [arvin@ArvinWoo ~]$ cp /etc/passwd ~/
  [arvin@ArvinWoo ~]$ cd


  使用awk -F 指定分隔符 提取第一个参数。


  除了 $ + 数字 表示某个字段,awk还提供一些变量。
  如:
  NF:示当前行有多少个字段
  $(NF)代表倒数第一个字段。 $(NF-1)代表倒数第二个字段。以此类推
  NR:表示当前处理的是第几行


  FILENAME:当前文件名


  FS:字段分隔符,默认是空格和制表符。


  RS:行分隔符,用于分割每一行,默认是换行符。
  OFS:输出字段的分隔符,用于打印时分隔字段,默认为空格。
  ORS:输出记录的分隔符,用于打印时分隔记录,默认为换行符。
  OFMT:数字输出的格式,默认为%.6g。
           :制表符
  :换行符
  awk还提供一些函数。
  toupper() :把原有字符串转为大写


  tolower():字符转为小写。
  length():返回字符串长度。


  substr():返回子字符串。


  sin():正弦。
  cos():余弦。
  sqrt():平方根。
  rand():随机数。


  awk ‘条件 动作’ 文件名
  awk ‘/正则表达式/ 动作’ 文件名 /Reg/ 双斜线里面是正则
  [arvin@ArvinWoo ~]$ awk -F ':' '/root/ {print $1}' passwd
  [arvin@ArvinWoo ~]$ awk -F ':' '/usr/ {print $1}' passwd


  awk IF 语句 必须用在 “{}” 中,且条件(比较内容) 用 “()” 括起来


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马