Linux中的IFS分隔符变量应用

本文遵循BY-SA版权协议,转载请附上原文出处链接。


本文作者: 黑伴白

本文链接: http://heibanbai.com.cn/posts/b854f05/

Linux中的IFS分隔符变量应用

IFS释义

  • IFS(内部字段分隔符)是shell中的一个特殊变量

  • 可以根据需要更改IFS的值

  • IFS主要用于单词分割,将一行内容分割成单词

  • IFS默认值是:空格、Tab、换行符,可以使用下述命令打印出来,注意:在IFS中,$‘\n’和$‘\t’才是换行符和制表符

    1
    cat -etv <<<"$IFS"
  • IFS变量通常用于读命令read、参数展开和命令替换。

示例

创建一个示例文件,/tmp/test.txt:

1
2
小明|1987.10.13||北京市
老王|1985.07.22||海南

创建一个示例脚本test.sh`:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#!/bin/bash

file=/tmp/test.txt

# 修改IFS为:|
IFS='|'
while read -r name birthday sex area
do
printf "*** 人员 %s 信息如下:\n" $name
printf "生日: %s\n" $birthday
printf "性别: %s\n" $sex
printf "籍贯: %s\n\n" $area

done < "$file"

保存、赋权并执行:

1
2
chmod +x test.sh
./test.sh

输出结果如下:

1
2
3
4
5
6
7
8
9
*** 人员 小明 信息如下:
生日: 1987.10.13
性别: 男
籍贯: 北京市

*** 人员 老王 信息如下:
生日: 1985.07.22
性别: 女
籍贯: 海南

参考


蚂蚁再小也是肉🥩!


Linux中的IFS分隔符变量应用
http://heibanbai.com.cn/posts/b854f05/
作者
黑伴白
发布于
2021年1月10日
许可协议

“您的支持,我的动力!觉得不错的话,给点打赏吧 ୧(๑•̀⌄•́๑)૭”

微信二维码

微信支付

支付宝二维码

支付宝支付