`
chemingliang
  • 浏览: 134134 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

SHELL 文件读取【转】

 
阅读更多

转自:http://hi.baidu.com/bluedeman520/blog/item/40754753467cf5998d54302f.html

 

1 -- SHELL读取文件的方法
#使用read命令读取一行数据
while read myline
do
 echo "LINE:"$myline
done < datafile.txt

#使用read命令读取一行数据
cat datafile.txt | while read myline
do 
 echo "LINE:"$myline
done

#读取一行数据
cat datafile.txt | while myline=$(line)
do 
 echo "LINE:"$myline
done

#读取一行数据
while myline=$(line)
do 
 echo "LINE:"$myline
done < datafile.txt

#使用read命令读取变量数据
cat datafile.txt | while read paraa parab parac
do
 echo "PARAA:"$paraa
 echo "PARAB:"$parab
 echo "PARAC:"$parac
done

#使用read命令读取变量数据
while read paraa parab parac
do
 echo "PARAA:"$paraa
 echo "PARAB:"$parab
 echo "PARAC:"$parac
done < datafile.txt

2 -- read命令的使用方法
read命令从标准输入读取一行,并把输入行的每个字段(以指定的分隔符分隔)的值赋给命令行上的变量。 
read [-ers] [-u fd] [-t timeout] [-p prompt] [-a array] [-n nchars] [-d delim] [name ...] 
参数解析: 
-e   
-r 指定读取命令把“\”(反斜杠)做为输入行的一个普通字符,而非控制字符。 
-s 安静模式。如果指定该参数且从终端读入数据,那么输入的时候将不回显在屏幕上。 
-u <fd> 指定读入数据的文件描述符,不再使用默认的标准输入。 
-t <timeout> 等待标准输入的超时时间,单位为秒。如果在指定的时间内没有输入,即时返回。 
-p <prompt> 打印提示符,等待输入,并将输入赋值给REPLY变量或者指定的变量。 
-a <array> 读入一组词,依次赋值给数组array。 
-n <nchars> 读取指定的字符数。如果已读取n个字符,马上返回,下次从返回点继续读取;如果已到行结束,无论满不满足n个字符都返回。 
-d <delim> 指定行结束符,读到该字符就当做一行的结束。 
name ... 指定read变量。read读取一行数据后,分隔行数据为各个字段,然后将字段依次赋给指定的变量。如果分隔后的字段数目比指定的变量多,那么将把剩余的全部字段值都赋给最后的那个变量;反之,剩余的变量被赋值为空字符串。如果read没有指定变量,系统使用默认的REPLY作为缺省变量名。 

使用重定向读取数据

exec 6< datafile.txt
while read -u 6 myline
do
 echo "LINE:"$myline
done

变量分隔符 
read命令默认的分隔符是空格,多个空格被当做一个空格处理。我们也可以使用IFS(内部字段分隔符)指定的的字符作为分隔符。假如有如下内容的一个文件,它以“$”来分隔变量,希望把每个变量区别开来,可以使用如下脚本:

baidu$google$tencnt$sina
123456789

#使用read命令读取变量数据
while read paraa parab parac parad
do
 echo "PARAA:"$paraa
 echo "PARAB:"$parab
 echo "PARAC:"$parac
 echo "PARAD:"$parad
done < datafile.txt执行脚本的输出如下: 
PARAA:baidu
PARAB:google
PARAC:tencent
PARAD:sina
PARAA:123456789
PARAB:
PARAC:
PARAD:

#实例1

在 data.txt 中文件格式是:
AAAA 123
BBBB 234

脚本要实现一行一行读取这个文件,把AAAA  付给   $CHNL_CODE , 123 付给  $NEW_AREA_CODE 
再把$CHNL_CODE,$NEW_AREA_CODE 传给temp_change_netdotrelation.sh

#!/bin/sh 
#run.sh 
cat data.txt | while read line 
do 
echo $line
CHNL_CODE = `echo $line | awk '{print $1}'` 
NEW_AREA_CODE = `echo $line | awk '{print $2}'`

sh temp_change_netdotrelation.sh $CHNL_CODE $NEW_AREA_CODE


done

分享到:
评论

相关推荐

    Linux shell 脚本读取配置文件

    Linux 系统 shell脚本读取配置文件

    在 UEFI shell 下读取内存存储的数据信息

    在UEFI环境下,这样的日志文件可以方便地在不同的环境中运行,无论是在U启动UEFI版本还是在实体机上,只要系统支持UEFI shell,就可以读取并分析"meminfo.log"。 值得注意的是,读取内存数据需谨慎操作,因为直接...

    如何在Shell脚本中逐行读取文件.doc

    Shell 脚本逐行读取文件方法详解 在Shell脚本中逐行读取文件是一种常见的操作,下面我们将详细介绍四种不同的方法来实现这个操作。 方法一:使用输入重定向 使用输入重定向是逐行读取文件的最简单方法。在while...

    shell脚本可配置化读取文件夹中文件名称.rar

    本文将深入探讨如何使用shell脚本来实现可配置化的文件夹中文件名称读取,这对于日常的文件管理和自动化任务至关重要。 首先,我们需要了解shell脚本的基本结构。一个简单的shell脚本通常以`#!/bin/bash`开头,这被...

    读取文件SHELL并判断文件生成时间,低于5分钟文件不拷贝。

    读取文件SHELL并判断文件生成时间,考虑到文件可能没有生成完,低于5分钟文件不拷贝。并且可以循环处理,分别判断生成的时间

    shell下同时读取多个文件的方法.docx

    多个文件读取方法 那么,如何实现同时多个文件的读取呢?我们可以继续利用 bash 中的文件重定向功能,将文件重定向到特定的文件描述符中。文件描述符是操作系统提供的一个整数值,用于标识一个打开的文件。 bash 中...

    winshell 快速读取系统文件图标

    在Windows编程中,快速有效地读取并显示系统...通过分析和学习这段代码,我们可以更深入地了解如何利用`WinShell`库高效地读取和显示系统文件图标。这不仅有助于提升应用程序的性能,还能为用户提供更好的交互体验。

    Linux打开shell时读取配置文件的顺序

    在Linux操作系统中,当用户打开一个Shell,例如Bash,系统会按照特定的顺序读取一系列的配置文件,以便初始化Shell环境。这些配置文件用于设置环境变量、定义别名、自定义Shell行为等。理解这一顺序对于管理和维护...

    shell脚本 字体转换 gb2312到UTF-8

    这是shell写的一个小脚本 为了让那些在linux下查看windows下的一些文件提供方便 只需将后缀改成.sh 再将其拷贝到你要转换的文件夹下 运行就OK

    读取配置文件的shell脚本实现

    本文将以“读取配置文件的shell脚本实现”为例,深入讲解如何使用awk命令解析配置文件并提取所需信息。 配置文件通常包含键值对,例如在例子中的`Config.ini`,它定义了网络配置项。awk命令是Linux shell中强大的...

    source命令 在当前Shell环境中从指定文件读取和执行命令

    source返回文件最后一个命令的返回值,如果文件不能读取则会失败。 语法格式:source [文件] 参考实例 读取和执行/root/.bash_profile文件: [root@linuxcool ~]# source ~/.bash_profile 执行刚修改的初始化文件,...

    Shell脚本读取标准ini配置文件Demo

    在IT领域,尤其是在系统管理和自动化任务中,Shell脚本经常被用来处理各种任务,其中之一就是读取配置文件。本文将详细讲解如何使用Shell脚本来读取标准的ini配置文件,并通过一个具体的Demo来演示这一过程。 ini...

    Shell实现读取ini格式配置文件方法

    其实这个作用没那么特别大,但多个shell如果每个配置信息都在shell文件里面写,懂的人还好,半懂+不仔细的人要如何改,改几个地方估计脚本就不能运行了。所以这样单独哪出来比较好些,而且可以多个shell使用一个ini...

    在Shell命令行处理JSON数据的方法

    因为最近要处理一些 JSON 数据格式,所以在经过一番搜索后 最终找到了 jq 这个很棒的工具。jq 允许你直接在命令行下对 JSON 进行操作,包括分片、过滤、转换等等。 让我们通过几个例子来说明 jq 的功能: ...

    python读取excel数据,分组数据自动生成shell脚本,并转换为unix格式

    用pandas读取excel数据,并把数据分组保存在txt文件里,自动生成shell脚本,把window的格式转换为unix格式可直接拖到linux执行shell脚本

    利用Shell脚本循环读取文件中每一行的方法详解

    特别是在自动化运维、数据处理等领域,使用Shell脚本进行文件读取是非常高效的手段之一。本文将详细介绍如何利用Shell脚本中的循环结构(for循环和while循环)来逐行读取文件,并通过示例代码进行具体说明。 #### ...

    Shell脚本从文件中逐行读取内容的几种方法实例

    在Shell脚本中,从文件中逐行读取内容是常见的操作,通常用于处理文本文件。这里我们将详细介绍三种不同的方法:使用for循环、定义代码块并重定向以及使用while循环结合read命令。 **1. 使用for循环从文件中逐行...

    Shell脚本批量添加CSV数据到MySQL

    本篇将详细介绍如何使用Shell脚本结合CSV文件批量将数据导入MySQL数据库,以提高工作效率。 首先,`prov.csv` 是一个包含CSV(逗号分隔值)格式的数据文件,这种文件类型常用于存储表格数据,易于读写和处理。在本...

    放在U盘根目录就可运行的EFI shell

    这说明该EFI Shell文件已经包含了所有必要的依赖,不需要在目标系统上进行额外的安装或配置。这种便利性对于系统管理员或者技术人员来说非常有用,他们可以随时随地在任何支持UEFI的设备上快速启动EFI Shell进行操作...

    Shell逐行读取文件的4种方法

    本文主要讲解了四种不同的方法来使用Shell逐行读取文件。每种方法都有其特定的用途和效率,了解这些方法可以帮助你根据具体需求选择最合适的方式。 1. **while循环法**: 这是最常见且效率最高的方法。通过`while ...

Global site tag (gtag.js) - Google Analytics