linux ctrlc 退出循环_linux按行读取 (while read line与forloop)

在linux下一般用while read line与for循环按行读取文件。这两种方法有什么区别呢?

现有如下test.txt文件:

6ccbc614fb4ecfbe97c731c32bb2457a.png

1

while read line

while read line; do
  echo $line
done < test.txt

输出结果与上图一致。

这里也可以写为:

cat test.txt | while read line; do
  echo $line
done

输出结果一致,但是需要注意一点,就是在如下情况下结果是不同的:

# 第一种情况
while read line; do 
  name1=$line;
done < test.txt


echo $name1


# 第二种情况:
cat test.txt | while read line; do
  name2=$line
done


echo $name2

在第一种情况下输出:

ENSMUSG00000000078.7 32.83699 29.78868 38.58607 30.348110000000002

第二种情况则无输出。

出现这种不同,是因为管道的机制,这个使用管道之后while read line是在子shell中进行的,所以退出之后$name2就没有值了。并且,cat 会一次性地把test.txt的所有内容都输入到内存,假如文件很大,则会占用很大的内存。但是第二种重定向的方法,是一行一行的读入,更省内存。

2

for循环

for i in `cat test.txt`;do
  echo $i
done

但是输出了这样的结果(部分结果):

9f6f3c938151810e0dd6871a65359dcd.png

这是因为,在for循环中,每次是以空格/制表符为分割符输出。可以写成以下形式输出:

# 可以先将空格转为别的字符
for i in `sed 's/\t/#/g' test.txt`;do
  echo $i | sed 's/#/\t/g'
done

先将空格或者制表符替换为其他字符,输出的时候再替换回来即可。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/271535.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机系统基础:计算机可靠性知识笔记

1、计算机可靠性介绍 计算机的硬件故障通常都是由于元器件失效造成的。元器件的可靠性分为三个阶段&#xff1a;开始阶段元器件处于不稳定阶段失效率比较高、第二阶段是正常工作阶段&#xff0c;失效率最低、第三阶段元器件开始老化&#xff0c;失效率就又开始提高。又称为“浴…

python时间计算_python datetime库使用和时间加减计算

datetime库使用 一、操作当前时间 1.获取当前时间 >>> importdatetime>>> printdatetime.datetime.now()2019-07-11 14:24:01.954000 时间格式化输出&#xff1a; >>> print datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")2019-…

桌面计算机打开不了怎么办,电脑桌面上的所有东西都打不开了 怎么处理

1、如果各分区下带autorun.inf一类的隐藏文件&#xff0c;删除后最好重新启动电脑。2、在文件类型中重新设置打开方式(以XP为例)打开 我的电脑&#xff0d;&#xff0d;工具&#xff0d;&#xff0d;文件夹选项&#xff0d;&#xff0d;文件类型&#xff0c;找到“驱动器”或“…

原生js实现京东商城楼梯效果

这个可能有些兼容问题和小bug,新手写的不完善 欢迎指出 <!DOCTYPE html> <html> <head><title></title><meta charset"utf-8" /><style type"text/css">*{margin: 0px;padding: 0px;list-style: none;}#header{…

IDEA云行项目提示Error: java: OutOfMemoryError

idea运行项目提示如下 解决方法: 调整一下Compiler下面的Compiler Process heap size 参数&#xff0c;默认的是700。如果2048还不能解决问题&#xff0c;试着将它调得更大一些吧&#xff0c; 修改为2048 修改后运行成功

常见的BIOS硬盘故障现象及急救措施

硬盘是电脑的数据仓库&#xff0c;是最为重要的存储设备&#xff0c;由BIOS直接管理。如果硬盘出现故障&#xff0c;一般情况下系统通常会显示一些提示信息&#xff0c;说明问题所在。下面&#xff0c;将一些常见的硬盘故障信息向大家一一介绍。1 C&#xff1a;Drive Failure …

js var是什么类型_JS变量的执行环境和生命周期

温故而知新&#xff0c;这些JS基础知识你都知道吗&#xff1f;今天和大家分享的是 JavaScript 中有关变量的知识&#xff0c;希望这篇文章能让你对JS中的变量有新的认识.目录&#xff1a;变量的执行环境&#xff08;执行上下文&#xff09;执行上下文的生命周期创建变量对象变量…

网络中不能显示全部计算机,win10家庭版局域网中计算机设备无法完全显示的解决方法...

许多用户都喜欢通过局域网来共享一些文件等&#xff0c;打开局域网就可以看到所有共享的计算机&#xff0c;然而有不少win10家庭版用户却发现局域网中只能看到几台计算机设备&#xff0c;无法完全显示&#xff0c;该怎么办呢&#xff0c;现在为大家讲解一下win10家庭版局域网中…

java.lang.NoClassDefFoundError:org/apache/commons/io/Charsets (jsoup配合htmlunit 爬取异步加载的网页遇到的)

最近用jsoup配合htmlunit 爬取异步加载的网页运行代码的时候,报错java.lang.NoClassDefFoundError:org/apache/commons/io/Charsets 报错截图如下 解决措施: 1:common-fileupload 1.3.1的版本依賴的commons-io 2.2&#xff0c;而htmlunit的jar依賴的是common-io 2.4 htmlunit…

echarts 3d地球 背面光线太暗_新技术:多波长光源,同时3D打印多种光敏树脂材料...

如今&#xff0c;光固化3D打印技术已经被广泛的采用&#xff0c;在齿科、首饰、手办等领域&#xff0c;然而如上图一样的常规光固化3D打印机&#xff0c;一次仍然只能打印一种材料。 △FDM技术类型的3D打印机可以通过增加喷头数量来实现多色或者多种材料同时打印&#xff0c;图…

2016-6-28 工作总结

今天是软件工程课设开始的第一天。经过一早上听老师的课程说明与用户反馈的讲解&#xff0c;我可以看得出老师对于这次课程设计的质量有着很高的期待与严格的要求&#xff0c;不再允许有浑水摸鱼的现象发生&#xff0c;我想&#xff0c;从某种程度上来讲&#xff0c;是一种好事…

计算机系统基础:计算机性能评价知识笔记

1、计算机性能常用的性能评测方法 1.1 时钟频率 计算机的时钟频率可以反映出机器的运行速度。一般主频越高&#xff0c;速度越快。 1.2 指令执行速度 加法指令执行速度是衡量计算机性能指标的重要指标之一。 1.3 等效指令速度法 随着计算机指令系统发展&#xff0c;种类越来越多…

astc贴图格式是什么意思_c4d配合AEe3d导入c4d模型贴图及插件安装所有流程

所有使用的软件及插件&#xff0c;分享给大家&#xff0c;需要软件或者插件的可以留言我&#xff0c;免费分享给大家&#xff0c;其实也可以网上下载到&#xff0c;就是有的版本和相应需要的插件不兼容和支持&#xff0c;。不少小伙伴用c4d做模型&#xff0c;做好后到底怎么玩&…

html5做文字颜色渐变代码,神奇!js+CSS+DIV实现文字颜色渐变效果_javascript技巧

本文实例为大家分享了DIVCSSJS实现的文字颜色渐变效果&#xff0c;供大家参考&#xff0c;具体内容如下下面是 CSS 部分代码&#xff1a;body{ font:12px/1.5 Microsoft Yahei;}h3{ padding:10px; margin:0; background-color:#999; color:#fff; font:16px/1.5 Microsoft Yahei…

前大灯是近光灯还是远光灯_汽修案例:长安福特翼博前大灯间歇自动点亮

点击↑汽修案例关注置顶&#xff0c;获得正时大全一辆行驶里程约2300km的2017年长安福特翼博。客户反映&#xff1a;该车在行驶过程中前大灯间歇出现自动点亮的故障现象。故障现象出现时大灯点亮与否不受大灯开关控制&#xff0c;如图1所示。故障诊断&#xff1a;车辆来店报修时…

commons-httpclient 和 httpclient 区别

commons-httpclient 和 httpclient 区别 项目里的pom中&#xff0c;里面有这么两个包依赖。 <dependency><groupId>commons-httpclient</groupId><artifactId>commons-httpclient</artifactId><version>3.1</version> </depend…

计算机基础:多媒体基础知识笔记

1、媒体的定义 媒体包括两面&#xff1a; 1、物理载体&#xff1a;比如磁盘、光盘、磁带以及相关的播放设备。 2、信息载体&#xff1a;也就是信息的表现形式&#xff0c;比如文字、声音、图像、动画、视频等。CCITT定义的存储媒体和表示媒体。 2、媒体的分类 1、感觉媒体&…

gnuradio上怎么使用python文件_使用Python从PDF文件中提取数据

前言数据是数据科学中任何分析的关键&#xff0c;大多数分析中最常用的数据集类型是存储在逗号分隔值(csv)表中的干净数据。然而&#xff0c;由于可移植文档格式(pdf)文件是最常用的文件格式之一&#xff0c;因此每个数据科学家都应该了解如何从pdf文件中提取数据&#xff0c;并…

Attach Volume 操作(Part I) - 每天5分钟玩转 OpenStack(53)

上一节我们创建了 volume&#xff0c;本节讨论如何将 volume attach 到 Instance&#xff0c;今天是第一部分。 Volume 的最主要用途是作为虚拟硬盘提供给 instance 使用。Volume 是通过 Attach 操作挂载到 instance 上的。本节我们就来详细讨论 Cinder 是如何实现 Attach 的。…

计算机网络技术课程代码02141模拟试题,02141计算机网络技术201510真题及答案

2015年10月高等教育自学考试全国统一命题考试计算机网络技术试卷(课程代码02141)本试卷共4页。满分l00分&#xff0c;考试时间l50分钟。考生答题注意事项&#xff1a;1&#xff0e;本卷所有试题必须在答题卡上作答。答在试卷上无效&#xff0c;试卷空白处和背面均可作草稿纸。2…