Shell IFS变量

IFS文档

IFS (Internal Field Separator)输入字段分隔符,Bash 会根据 IFS 中定义的字符来进行字符串拆分。默认情况下,IFS包含空格,制表符tab和回车,这也是Bash 读取数据都是在空格处拆分的原因。

IFS变量通常用于读取命令、参数扩展和命令替换。

cat -A <<< "$IFS"
 ^I$
$
#  " "是空格,^I$是Tab,下一行$是换行符

echo "$IFS" | od -b
0000000 040 011 012 012
0000004
# 查看$IFS,直接查看不会显示,转换成二进制显示
# 040是空格,011是Tab,012是换行符"\n",最后的012是echo的默认换行

示例:

建一个文件,内容包含|分割的字段,定义IFS为“|”,然后read读取看看怎么拆分的。

vim file.txt

cyberciti.biz|202.54.1.1|/home/httpd|ftpcbzuser
nixcraft.com|202.54.1.2|/home/httpd|ftpnixuser

vim ifstest.sh

#!/bin/bash
file=/home/hadoop/file.tx
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

訾零

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值