• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >linux shell > Linux里awk中split函数的用法小结

Linux里awk中split函数的用法小结

作者: 字体:[增加 减小] 来源:互联网

通过本文主要向大家介绍了linux awk split,awk split,linux awk用法,linux中awk的用法,linux中awk命令等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

The awk function split(s,a,sep) splits a string s into an awk array a using the delimiter sep.

set time = 12:34:56
set hr = `echo $time | awk '{split($0,a,":" ); print a[1]}'` # = 12
set sec = `echo $time | awk '{split($0,a,":" ); print a[3]}'` # = 56
# = 12 34 56
set hms = `echo $time | awk '{split($0,a,":" ); print a[1], a[2], a[3]}'`

——————————————————————————————————————————
Q:
name="76868&5676&435&43526&334&12312312&12321"
awk 'BEGIN {print split("$name", filearray, "&")}'
为什么是1
而
awk 'BEGIN {print split("76868&5676&435&43526&334&12312312&12321", filearray, "&")}'
则返回正确的结果,应该是7,有没有人解答一下?

A:
变量引用错误,这样做试试
awk 'BEGIN {print split('"\"$name\""', filearray, "&")}'

awk规定引用系统变量必须使用单引号加双引号,即'"$sysvar"'这样的格式,但是split函数也需要双引号来定界,但这个双引号又不能让sh解释,而应留给awk来解释,所以使用了\"和\"组成的双引号

split函数的用法

he awk function split(s,a,sep) splits a string s into an awk array a using the delimiter sep.
set time = 12:34:56
set hr = `echo $time | awk '{split($0,a,":" ); print a[1]}'` # = 12
set sec = `echo $time | awk '{split($0,a,":" ); print a[3]}'` # = 56

# = 12 34 56
set hms = `echo $time | awk '{split($0,a,":" ); print a[1], a[2], a[3]}'`
set hms = `echo $time | awk '{split($0,a,":" ); for (i=1; i<=3; i++) print a[i]}'`

实例一:

cat a
a:b:c:d:e:f:g:h:i
使用awk将该字符串冒号两边的段输出
cat a |awk -F':' '{split($0,arr,":")}END{for(i=1;i<=NF;i++)printf("%s\n",arr[i])}'
输出结果如下
a

c
d
e
f
g
h
i

</div>

您可能想查找下面的文章:

  • Linux之split命令详解
  • Linux里awk中split函数的用法小结

相关文章

  • 一个简单的linux命令 tail
  • 零基础入门篇之Linux及Arm-Linux程序开发笔记
  • Linux中使用Shell脚本查看Java线程的CPU使用情况
  • 一天一个shell命令 linux文本操作系列-tree命令详解
  • 通过实例深入理解linux shell数组
  • Linux下使用shell脚本自动执行脚本文件
  • shell对比文件内容脚本分享
  • Shell脚本实现关闭多余的tty终端
  • shell判断文件,目录是否存在或者具有权限的代码
  • 判断Linux Shell环境变量是否存在

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • 一个Linux系统安全设置的Shell脚本的分享(适用CentOS)
    • 使用Bash Shell对目录中的文件实现递归式拷贝
    • linux下采用shell脚本实现批量为指定文件夹下图片添加水印的方法
    • 编写你的shell其实很简单
    • Linux内核链表实现过程
    • Linux Shell脚本系列教程(五):数学运算
    • Shell 编程:Bash空格的那点事
    • 一天一个shell命令 linux文本系列-file命令用法
    • Shell脚本实现监控rsync数据是否传输完
    • 脚本实现SSH登录邮件报警

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有