Linux Shell-IFS变量使用

在bash中IFS是内部的域分隔符,如下是一些值得注意的地方。

  1. IFS的默认值为:空白(包括:空格,tab, 和新行),将其ASSII码用十六进制打印出来就是:20 09 0a;
    echo -n "$IFS" | xxd -g 1 | awk -F":" '{print $2}' | awk -F" " '{print $1, $2, $3}'

  2. IFS对空格的空白的处理和其他字符不一样,左右两边的纯空白会被忽略,多个连续的空白被当成一个IFS处理。

  3. $*中使用IFS中的第一个字符。

  4. awk中的FS(域分隔符)也和IFS有类似的用法和作用。

  5. IFS=$'\n' #更改IFS值为$'\n',注意,以回车做为分隔符,IFS必须为:$'\n'

参考:
1、SHELL中的IFS详解
2、shell中的特殊变量IFS
3、对Shell几个冷知识的总结(IFS,数组,替换,切割,查找)
4、shell中字分隔的妙用:变量IFS

你可能感兴趣的:(Linux Shell-IFS变量使用)