shell下读取文件数据
while和for对文件的读取是有区别的:
|
目前有info.txt这个文件,里面存储了以空格分割的IP、用户名、密码等信息。
|
[root@imzcy ~]# cat info.txt
192.168.1.1 zhangsan 123456
192.168.1.2 lisi 111111
192.168.1.3 wangwu 22222
|
|
|
1.我们按照while的习惯来写脚本尝试使用for读取文件每行数据(当然下面这个脚本是有问题的)。
|
[root@imzcy ~]for i in $(cat info.txt);do echo $i ;done
|
for循环会以空格分割读入的数据,所以输出为:
192.168.1.1
zhangsan
123456
192.168.1.2
lisi
111111
192.168.1.3
wangwu
22222
|
|
2.shell下使用for循环来按行从文件读入数据(每次读入一整行数据)
|
#!/bin/bash
f=/root/info.txt
l=`cat $f |wc -l`
for i in `seq 1 $l`;
do
cat $f |head -n $i |tail -n 1
sleep 1
done
|
执行结果为:
192.168.1.1 zhangsan 123456
192.168.1.2 lisi 111111
192.168.1.3 wangwu 22222
cat $f |head -n $i |tail -n 1 获取某一行
|
|
while循环读方式
|
#!/bin/bash
cat filename | while read line;do
echo $line
done
|
192.168.1.1 zhangsan 123456
192.168.1.2 lisi 111111
192.168.1.3 wangwu 22222
|
|
while循环读方式2
|
#/bin/sh
while read line;do
echo $line
done < filename
|
|
|
while 死循环
|
while [ "1" = "1" ]
do
#do something
done
|
|
|
将info.txt文件中存储的信息使用逗号分隔,然后使用for循环读取文件内容
|
cat info.txt
192.168.1.1,zhangsan,123456
192.168.1.2,lisi,111111
192.168.1.3,wangwu,22222
ips=`cat info.txt`
for ip in $ips;do
echo $ip
ip_info=(${ip//,/ })
if [ ${#ip_info[@]} -eq 3 ];then
#do something
fi
done
|
shell下读取文件数据的更多相关文章
- SHELL下打包文件
SHELL下打包文件 在我们拿下webshell的时候,想要获取数据或者源码往往会用菜刀或者蚁剑去打包,但是这个时候往往就会出现很多问题,列如打包失败,或者是打包得不完整等等. 这个时候如果对方是wi ...
- TensorFlow csv读取文件数据(代码实现)
TensorFlow csv读取文件数据(代码实现) 大多数人了解 Pandas 及其在处理大数据文件方面的实用性.TensorFlow 提供了读取这种文件的方法. 前面章节中,介绍了如何在 Tens ...
- FileInputStream 读取文件数据的输入字节流
package com.inputstream; /* File类: 用于描述一个文件或者文件夹的. 通过File对象我们可以读取文件或者文件夹的属性数据,如果我们需要读取文件的内容数据,那么我们需要 ...
- Ubuntu系统下MySQL读取文件数据ERROR解决
博文链接:http://haoyuanliu.github.io/2016/04/29/mysql/ 对,我是来骗访问量的!O(∩_∩)O~~ 在使用MySQL进行文件数据读取的时候,在终端敲入命令行 ...
- python中读取文件数据时要注意文件路径
我们在用python进行数据处理时往往需要将文件中的数据取出来做一些处理,这时我们应该注意数据文件的路径.文件路径不对,回报如下错误: FileNotFoundError: File b'..Adve ...
- Android从assets目录下读取文件相关
有一个需求是app的帮助文档是word格式,ios可以直接用webview加载word显示,Android不行.而美工不配合转换成图片,前端没时间把word写成html 没办法,自己搞. 步骤: 1. ...
- Shell 循环读取文件
使用Shell将Windows环境下的文件拷贝到Linux下面的用法. 在linux下,将dos文件格式转换成linux文件格式的用法,vi打开,然后转到命令格式,执行,然后保存,就可以转换成linu ...
- 3、FileInputStream--->类文件输入流(读取文件数据)
Api介绍 定义 FileInputStream 用于读取诸如图像数据之类的原始字节流.要读取字符流,请考虑使用 FileReader 构造方法 FileInputStream(File file) ...
- Linux shell逐行读取文件的方法
方法1:while循环中执行效率最高,最常用的方法. function while_read_line_bottom(){ while read line do echo $line done < ...
随机推荐
- 8.2-3 partprobe、tune2fs
8.2 partprobe:更新内核的硬盘分区表信息 partprobe命令用于在硬盘分区发生改变时,更新Linux内核中的硬盘分区表数据.有时在使用fdisk.part命令对硬盘进行分区 ...
- 3.21-22 od、tee
3.21 od:按不同进制显示文件 od命令用于输出文件的八进制.十六进制或者其他格式编码的字节,通常用于显示或查看文件中不能直接显示在终端的字符. -A 地址进制 按指定的进制 ...
- UEFI和Legacy兼容启动U盘制作
应用场景 自己有一个可启动移动硬盘,是属于老式的BIOS启动方式,最近换了新电脑,因为电脑只支持uefi的启动方式,所以决心为移动硬盘增加uefi启动支持,如何将一个只支持BIOS启动(或者 Lega ...
- oepncv实现——图像去水印
功能简介:通过拖动鼠标实现指定区域水印或是斑点的去除. 实现原理:利用opencv鼠标操作setMouseCallback函数框选(左上到右下)需要处理的区域,按下鼠标开始选中,松开鼠标结束,对选中区 ...
- 从性能角度帮你理解HTTP协议
因为做性能测试分析的人来说,HTTP 协议可能是绕不过去的一个槛.在讲 HTTP 之前,我们得先知道一些基本的信息. HTTP(HyperText Transfer Protocol,超文本传输协议) ...
- TorchScript神经网络集成技术
TorchScript神经网络集成技术 create_torchscript_neuropod 将TorchScript模型打包为neuropod包. create_torchscript_neuro ...
- ES6函数参数
之前在看Vue2.0的时候,就被很多的箭头函数困扰,一直不知道是怎么回事,虽然箭头函数四个字在我耳边一直转圈,今天小编整理整理箭头函数里面的常见用法和表现形式,在这个Vue3.0已经到来的一段时间,希 ...
- OpenFeign远程调用原理
之前对OpenFeign 了解到只用在接口上面打个注解,然后就可以通过内部调用去调用远程地址.研究完Feign生成对象以及代理对象的作用过程之后发现这个过程用到了Spring的好多东西,在之后的过程中 ...
- JUC下工具类CountDownLatch用法以及源码理解
CountDownLoatch是JUC下一个用于控制计数的计数器,比如我需要从6开始计数,每个线成运行完之后计数减一,等计数器到0时候开始执行其他任务. public static void main ...
- Vue.js源码解析-Vue初始化流程
目录 前言 1. 初始化流程概述图.代码流程图 1.1 初始化流程概述 1.2 初始化代码执行流程图 2. 初始化相关代码分析 2.1 initGlobalAPI(Vue) 初始化Vue的全局静态AP ...