Linux中的IFS分隔符变量应用

Linux中的IFS分隔符变量应用

IFS释义

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

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

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

  • IFS默认值是:空格、Tab、换行符,可以使用下述命令打印出来

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

示例

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

小明|1987.10.13|男|北京市
老王|1985.07.22|女|海南

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

#!/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"

保存、赋权并执行:

chmod +x test.sh
./test.sh

输出结果如下:

*** 人员 小明 信息如下:
生日: 1987.10.13
性别: 男
籍贯: 北京市

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

参考

  • IFS−Bash Shell Scripting Directory

你可能感兴趣的:(Linux,Shell,linux,shell,ifs)