1. 单个文件的读取

在shell脚本下,可以多种方式实现按行读取文件,如下:

for line in `cat ${input_filename}`

do

echo $line

done

while read line

do

echo $line

done < ${input_filename}

其中第二种方式是将文件重定向到标准输入中

2. 多个文件读取方法

那如何实现同时多个文件的读呢?

我们可以继续利用bash中的文件重定向功能,将文件重定向到特定的文件描述符中,语法如下:

n

n>file

n>>file

n<>file

这里的n代表打开文件file的文件描述符,类似其他编程语言中的fd,如果没有指定n,则其默认行为如下:

>file #same as 1>file

<>file #same as 0<>file

我们可以通过exec命令来打开所要重定向的文件:

exec 7

exec 8

然后我们可以通过read命令来读取对应文件的内容:

read data

read data

关闭文件

exec 7

exec 8

多文件读取示例代码如下:

readfiles() {

local FD1=7

local FD2=8

local file1=$1

local file2=$2

local count1=0

local count2=0

local eof1=0

local eof2=0

local data1

local data2

# Open files.

exec 7

exec 8

while [[ $eof1 -eq 0 || $eof2 -eq 0 ]]

do

if read data1

let count1++

printf "%s, line %d: %s\n" $file1 $count1 "$data1"

else

eof1=1

fi

if read data2

let count2++

printf "%s, line %d: %s\n" $file2 $count2 "$data2"

else

eof2=1

fi

done

}

#read file1 and file2

readfiles file1 file2

linux shell读取文件,shell下同时读取多个文件的方法相关推荐

  1. linux java读取文件夹下文件名,Java获取Linux上指定文件夹下所有第一级子文件夹...

    说明:需要只获得第一级文件夹目录 package com.sunsheen.jfids.studio.monitor.utils; import java.io.BufferedReader; imp ...

  2. Shell获取某个文件夹下的所有文件名(含文件夹)

    2019独角兽企业重金招聘Python工程师标准>>> 1. 获取某个文件夹下的所有文件名(含文件夹),并显示 #!/bin/sh #============ get the fil ...

  3. Java读取文件夹下的所有文件名和文件内容

    读取文件夹下的所有文件名和文件内容 1. 读取指定目录下的每一个文件的文件名和文件内容 2. 并把文件名作为key,文件内容为value 存储在map集合中 3. 通过遍历map集合拿到我们需要的文件 ...

  4. xml遍历文件夹vector_怎么统计指定文件夹下含有.xml格式的文件数目

    如何统计指定文件夹下含有.xml格式的文件数目?如题 ------解决思路----------------------Directory.GetFiles(@"路径", " ...

  5. R语言sys方法:sys.getpid函数获取R会话的进程ID、sys.glob函数和file.path函数匹配文件夹下的所有特定类型文件、sys.info函数获取系统和用户信息

    R语言sys方法:sys.getpid函数获取R会话的进程ID.sys.glob函数和file.path函数匹配文件夹下的所有特定类型文件.sys.info函数获取系统和用户信息 目录

  6. C#获取文件夹下指定格式的所有文件

    C#获取文件夹下指定格式的所有文件的方法,虽然很简单,但还是分享一下吧,用到时可以稍加修改和优化就可以使用. 获取指定目录下所有文件 //最要使用 System.IO.Directory.GetFil ...

  7. perl 循环删除指定文件夹下所有满足条件的文件,不包含文件夹

    需求:perl 二秒钟循环删除指定文件夹下所有满足条件的文件,不包含文件夹,若要删除文件夹另作处理,加一个判断 目录格式:D:\Users\XXXXXXX\Desktop\Test\023\20160 ...

  8. 批量处理不同文件夹下同名图片到相同文件内,简单处理

    批量处理不同文件夹下同名图片到相同文件内 第一步:在不同文件夹下搜索同名图片名称 例如在我的多个_json文件夹下存在同名的图片img.png,因此利用搜索功能将所有_json下的img.png图片全 ...

  9. Python 递归获取文件夹下某个文件格式的所有文件

    在对文件进行操作时,有些时候需要获取某个文件夹下指定后缀的所有文件的文件路径,如获取D盘下所有文件格式后缀为png的文件名字,并拼接成文件路径以便于在后续文件处理过程中对相应的文件做处理. 使用pyt ...

  10. 读取linux分区工具,Windows XP下直接读取Linux ext4分区文件工具

    用了好久的Linux, Firefox的插件都放在Linux的ext4分区上. 想要在Windows XP中读取ext4分区的文件,接着就有了一段惊心动魄的经历. 首先是到google上搜索" ...

最新文章

  1. python网课一般多少钱-Python培训网课一般学费多少?毕业生能承担吗?
  2. 加密货币与智能合约的隐私 (一): 区块链上的隐私
  3. 解题报告——例题5-5 集合栈计算机 UVa12096
  4. 玩转 SpringBoot 2 之整合定时任务篇
  5. 以前做过一个光标代码的梦,貌似也是个预言梦
  6. ubuntu20.4 安装配置teamviewer
  7. 吴恩达机器学习视频笔记和编程作业(Python实现)汇总
  8. 非线性光纤光学_进展 | 二维材料复合光纤实现超高非线性效应
  9. 通过阅读器打开ofd格式发票并转为PDF
  10. 如何在Android上安装LineageOS
  11. 傻瓜教学——什么是常量?常量可以分几类?它们分别又是什么?又有什么含义?
  12. kubernetes 的 liveness和readiness
  13. php私有云盘,教你搭建个人/企业私有云盘-kodexplorer
  14. python自动化操作浏览器
  15. 按键精灵 python加强版
  16. Redis 如何实现库存扣减操作和防止被超卖
  17. 跳跳虎辅助免费体验版
  18. 大数据培训Spark 高频面试考点分享
  19. web渗透测试培训,如何做信息收集?
  20. Noise Contrastive Estimation 前世今生——从 NCE 到 InfoNCE

热门文章

  1. 2021-06-12Leetcode394.字符串解码
  2. dsp广告和信息流广告区别_信息流、DSP、联盟广告、SEM有什么区别?
  3. 十四届全国大学生数学竞赛
  4. 主键冲突报什么代码_程序员经典面试题,Mysql自增主键为什么不连续
  5. 深入理解CSS中的层叠上下文和层叠顺序
  6. 使用Qt开发的停车游戏
  7. 网页游戏怎么修改数据_2014一周网页游戏数据报告(10.6—10.12)
  8. 织梦添加图片变量_dedecms编辑页面添加变量(织梦内容模型自定义字段)
  9. 派克Parker高动态性能低惯性量无刷伺服电机SMB/SMH
  10. 积分球原理及积分球类型介绍