利用shell脚本可以很容易的对文本文件进行分行、分词。
首先得先了解一个特殊的环境变量IFS(internal field separator);
这个环境变量定义了bash shell用作字符分割符的一系列字符。在默认的情况下,IFS以以下字符作为字段分割符:
空格
制表符
换行符
bash shell遇到以上任一字符,则认为遇到一个新的字符段。有时为了方便处理文件,我们需要一个或者更多个字段分割符,我们可以利用以下语句更改IFS;
IFS=$':' #一个分割符时,将会以冒号为分割符
IFS=$'\n:;' #多个分割符,将会以回车、冒号、分号作为分割符
为了防止在脚本中定义了新的字段分割符,而在脚本结束后忘记恢复IFS默认值,在写shell脚本时可以这样写:
IFS_OLD=$IFS #保存默认IFS值
IFS=$'\n' #自定义的分割符