【Shell脚本】逐行处理文本文件
经常会对文体文件进行逐行处理,在Shell里面如何获取每行数据,然后处理该行数据,最后读取下一行数据,循环处理.有多种解决方法如下:
1.通过read命令完成.
read命令接收标准输入,或其他文件描述符的输入,得到输入后,read命令将数据放入一个标准变量中.
利用read读取文件时,每次调用read命令都会读取文件中的"一行"文本.
当文件没有可读的行时,read命令将以非零状态退出.
1 cat data.dat | while read line 2 do 3 echo "File:${line}" 4 done 5 6 while read line 7 do 8 echo "File:${line}" 9 done < data.dat
2.使用awk命令完成
awk是一种优良的文本处理工具,提供了极其强大的功能.
利用awk读取文件中的每行数据,并且可以对每行数据做一些处理,还可以单独处理每行数据里的每列数据.
1 cat data.dat | awk '{print $0}' 2 cat data.dat | awk 'for(i=2;i<NF;i++) {printf $i} printf "\n"}'
第1行代码输出data.dat里的每行数据,第2代码输出每行中从第2列之后的数据.
如果是单纯的数据或文本文件的按行读取和显示的话,使用awk命令比较方便.
3.使用for var in file 命令完成
for var in file 表示变量var在file中循环取值.取值的分隔符由$IFS确定.
1 for line in $(cat data.dat) 2 do 3 echo "File:${line}" 4 done 5 6 for line in `cat data.dat` 7 do 8 echo "File:${line}" 9 done
如果输入文本每行中没有空格,则line在输入文本中按换行符分隔符循环取值.
如果输入文本中包括空格或制表符,则不是换行读取,line在输入文本中按空格分隔符或制表符或换行符特环取值.
可以通过把IFS设置为换行符来达到逐行读取的功能.
IFS的默认值为:空白(包括:空格,制表符,换行符).
转载于:https://www.cnblogs.com/leoking01/p/7680413.html
【Shell脚本】逐行处理文本文件相关推荐
- Shell脚本逐行处理文本文件技巧
本文主要给大家介绍了关于Shell脚本如何逐行处理文本文件的相关资料 经常会对文体文件进行逐行处理,在Shell里面如何获取每行数据,然后处理该行数据,最后读取下一行数据,循环处理.有多种解决方法如下 ...
- shell脚本 逐行读取文本并且 进行字符串的截取
例如有个文本文件 1234 ji adfa jiji adfasd qqwe // 注意一定要有个回车,这样脚本才会读到最后一行 while read typeline do #get line t ...
- linux合并txt文件命令,如何在Linux Shell脚本中合并文本文件中同一...
我从Nagios使用wget命令下载了html文件,然后使用以下代码将该htmlfile转换为Textfile: html2text -width 180 file.html >a.txt 然后 ...
- shell 脚本逐行读取多个文件,并逐行对应
#!/bin/bash for i in `seq 448` do aaa=`sed -n "$i"p num.txt` bbb=`sed -n "$i"p t ...
- linux脚本中如何读取文件,如何在Shell脚本中逐行读取文件
原标题:如何在Shell脚本中逐行读取文件 在这里,我们学习Shell脚本中的3种方法来逐行读取文件. 方法一.使用输入重定向 逐行读取文件的最简单方法是在while循环中使用输入重定向. 为了演示, ...
- Linux shell脚本各种烧脑题编写
第一列达到100的时候 第二列数字从100向1 处理 第二列数字到50 第三列数字从100递增 第二列数字为0时不显示 第四列数字从1递增 ============================== ...
- Linux Shell 脚本知识点
正则表达式在线生成工具: http://tools.jb51.net/regex/create_reg 0. shell 调试 复制代码 代码如下: sh -x somefile.sh 在somefi ...
- shell for循环命令行_精心汇总的24道shell脚本面试题
虽然现在Python在运维工作中已经使用很普遍,但是很多企业在找Linux云计算工程师的时候还是会问到 shell 脚本的问题,它有助于你在工作环境中自动完成很多任务. 如下是一些面试过程中,经常会遇 ...
- 面试准备-Shell脚本
一.Shell脚本是什么? 一个Shell脚本是一个文本文件,包含一个或多个命令.我们经常需要使用多个命令来完成一项任务,我们可以添加这些所有命令在一个文本文件(Shell脚本)来完成这些日常工作任务 ...
- shell脚本面试题
Q:1 Shell脚本是什么.它是必需的吗? 答:一个Shell脚本是一个文本文件,包含一个或多个命令.作为系统管理员,我们经常需要使用多个命令来完成一项任务,我们可以添加这些所有命令在一个文本文件( ...
最新文章
- 虚拟社会建设需要“网络社工”助力
- 【Gym - 101986F】Pizza Delivery(Dijkstra最短路,建图方式,反向建图,Tarjan求桥,图论模板)
- c语言求a1到an的和,C语言菜鸟基础教程之a++与++a
- java nextbyte()_java.util.Scanner.hasNextByte()方法实例
- SpringBoot学习笔记001--创建第一个spring boot应用
- 2039 骑马修栅栏
- WKWebview的内存问题
- Tensorflow2.0学习-加载和预处理数据 (七)
- VS实现格式化代码及代码缩进
- MATLAB实现三边定位
- VS 下环境覆盖率测试
- 软帝出品2019阿里面试题大全(含答案解析)
- myeclipse误删文件恢复
- 异常解决——Tomcat启动异常:Cannot assign requested address
- 05.Linux 常用命令-网络命令\关机重启命令
- 5分钟搞定 微信早安推送 升级版
- 使用DGL进行异构图元路径采样
- Java腐烂的橘子leetcode
- MySQL:安装软件和基本操作
- 从python开始学编程vamei_《从Python开始学编程》作者:Vamei - kindle电子书下载 - 我的书库...