作者: 耗子007
while read
read命令接收标准输入,或其他文件描述符的输入,得到输入后,read命令将数据放入一个标准变量中.
利用read读取文件时,每次调用read命令都会读取文件中的”一行”文本.
当文件没有可读的行时,read命令将以非零状态退出.
1 | cat filename| while read line |
for var in file
for var in file 表示变量var在file中循环取值.取值的分隔符由$IFS确定.
1 | for line in $(cat filename) |
如果输入文本每行中没有空格,则line在输入文本中按换行符分隔符循环取值.
如果输入文本中包括空格或制表符,则不是换行读取,line在输入文本中按空格分隔符或制表符或换行符特环取值.
可以通过把IFS设置为换行符来达到逐行读取的功能.
IFS的默认值为:空白(包括:空格,制表符,换行符).
注意:如何设置IFS为换行符
1 | OLD_IFS=”$IFS” |
awk工具变量
1 | awk -f my.awk filename |