一、按行读取文件
方法一:while循环中执行效率最高,最常用的方法。
#!/bin/bash
while read line
do
echo $line
done < filename(待读取的文件)
方法2 : 重定向法;管道法: cat $FILENAME | while read LINE
#!/bin/bash
cat filename(待读取的文件) | while read line
do
echo $line
done
方法3; for 循环
#!/bin/bash
for line in `cat filename(待读取的文件)`
do
echo $line
done
二、 读取特定行的内容
1. sed用法,读取某一行内容
#!/bin/bash
#sed用法 sed -n 'xp'
#读取第一行数据
sed -n '1p'
2. sed用法,读取文件X行到Y行的内容
#!/bin/bash
# 获取 第10-18行内容
sed -n '10,18p'
3. tail用法,读取文件末尾的数据。
#!/bin/bash
# 获取文件最后3行数据
tail -n -3
# 获取文件第3行到最后一行数据
tail -n +3
4. head用法,读取文本的前n行数据
#!/bin/bash
# 获取文本前10行数据
head -n 10
5. tail和head的结合使用
#!/bin/bash
# 获取文本倒数第二行数据,结果如图所示
tail -n 2 | head -n 1
6. awk用法,awk在文本处理方面有着强大的功能,配合脚本使用,可以打印指定行和列。
#!/bin/bash
# NR指定行号
awk 'NR==18{print}'