shell基础知识7-字段分隔符与迭代器
2024-10-19 14:44:50
什么是内部字段分隔符
内部字段分隔符(Internal Field Separator,IFS)是shell脚本编程中的一个重要概念。在处理
文本数据时,它的作用可不小。
作为分隔符,IFS有其特殊用途。它是一个环境变量,其中保存了用于分隔的字符。它是当
前shell环境使用的默认定界字符串。我们可以查看$IFS这个变量,从而看出这个分隔符。
[root@dns-node2 tmp]# echo $IFS
更换分隔符从而切分字符串
考虑一种情形:我们需要迭代一个字符串或逗号分隔型数值(Comma Separated Value,CSV)
中的单词。如果是前者,可以使用 IFS=" " ;如果是后者,则使用 IFS="," 。
[root@dns-node2 tmp]# cat testIFS.sh
#!/bin/bash
data="name,age,sex,telphone_number,location"
oldIFS=$IFS
IFS=,
for i in $data
do
echo item: $i
done
IFS=$oldIFS
[root@dns-node2 tmp]# sh testIFS.sh
item: name
item: age
item: sex
item: telphone_number
item: location
以上就是没有使用awk来做指定分隔符,直接更改IFS来切分字符串,厉害吧。
接下来看看下面下面例子:
[root@dns-node2 tmp]# cat testIFS2.sh
#!/bin/bash
line="root:x:0:0:root:/root:/bin/bash"
IFS=":"
for i in $line
do
echo $i
done
[root@dns-node2 tmp]# bash testIFS2.sh
root
x
0
0
root
/root
/bin/bash
tips
可以使用echo 来输出序列,例如下面的数据:
[root@dns-node2 tmp]# echo {1..500}
[root@dns-node2 tmp]# echo {a..z}
[root@dns-node2 tmp]# echo {A..z}
最新文章
- 用python实现的百度音乐下载器-python-pyqt-改进版
- sql 自定义函数--固定格式字符转时间类型
- –save与–save-dev
- Java NIO框架Netty课程(一) – Hello Netty
- 使用Net.Mail、CDO组件、JMail组件三种方式发送邮件
- 拥抱.NET Core系列:Logging (1)
- 《深入理解java虚拟机》笔记——简析java类文件结构
- Linux IPC实践(2) --匿名PIPE
- 封装jdbc、DBUtil
- delphi odbc远程连接sqlserver
- [转]用C#在windows上操控电脑自带蓝牙(入道指南)
- proxysql 系列 ~ 高可用架构
- ajax之全局函数
- zabbix3.0.4-agent通过shell脚本获取mysql数据库登陆用户
- Mapreduce入门和优化方案
- Android启动过程深入解析
- [转]13 Hours: The Secret Soldiers of Benghazi
- Android中Parcel的分析以及使用
- Charles的HTTPS抓包方法及原理分析
- JS学习笔记(模态框JS传参)
热门文章
- P1486 [NOI2004]郁闷的出纳员[权值线段树]
- 使用 application.properties 中配置的属性,举例:@Value(";${server.port}";)
- .net反射机制的简单介绍
- woocommerce模板制作简易教程
- autoRoll_UpDown()|上下滚动函数|无缝|自动(自带demo)
- hihocoder#1046: K个串
- [React] Handle React Suspense Errors with an Error Boundary
- python 当前时间多加一天、一小时、一分钟(转载)
- linux学习17 运维核心技能-Linux系统下用户权限管理
- Selenium元素定位的几种方式