shell脚本读取文件内容的操作

本文介绍了多种使用Shell脚本读取文件内容的方法,包括while循环、重定向法、for循环,以及如何通过sed、tail和head等工具获取特定行的内容。示例展示了读取文件的某一行、指定范围的行以及文件末尾数据的技巧,同时也展示了awk的强大功能,用于打印指定行号的内容。
摘要由CSDN通过智能技术生成

一、按行读取文件

方法一: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' data.txt
#读取第一行数据

sed -n '1p' data.txt

2. sed用法,读取文件X行到Y行的内容

#!/bin/bash

# 获取data.txt 第10-18行内容
sed -n '10,18p' data.txt

3. tail用法,读取文件末尾的数据。

#!/bin/bash

# 获取文件最后3行数据
tail -n -3 data.txt

# 获取文件第3行到最后一行数据
tail -n +3 data.txt

4. head用法,读取文本的前n行数据

#!/bin/bash

# 获取文本前10行数据
head -n 10 data.txt

5. tail和head的结合使用

#!/bin/bash

# 获取文本倒数第二行数据,结果如图所示
tail -n 2 data.txt | head -n 1

6. awk用法,awk在文本处理方面有着强大的功能,配合脚本使用,可以打印指定行和列。

#!/bin/bash

# NR指定行号
awk 'NR==18{print}' data.txt

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值