shell中awk可以处理文本文件,sed也可以处理文本文件,sed在我之前的文章中有写过,它是一行一行的去读,然后对读取的内容可以进行操作。awk也是一行一行的处理,只是进行抽取,而不进行修改。
还有一种方法是通过while语句+read进行一行一行的读取数据:
read用法:
第一种,从命令行中读:
[root@uc201 ~]# read line
aaabbb
[root@uc201 ~]# echo $line
aaabbb
可以看到read是从标准输入中读取数据遇到回车就终止读取,并赋值给line;
第二种:从文件中一行一行的读:
#!/bin/bash
while read line;do
echo $line
done < test.txt
文件test.txt文件中的内容如下:
[root@uc201 ~]# cat test.txt
aaa
bbbaaa
bbb
ccc
执行结果;
[root@uc201 ~]# sh 1.sh
aaa
bbbaaa
bbb
ccc