- 浏览: 134134 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
fascism219:
哇!您这篇博客写的太好了,看了以后感觉很受用!我最近正在做CE ...
移植CESM1.2和运行CLM4.5问题汇总 -
deepfuture:
不错,用栈来实现递归,速度和效率较高,建议部分栈操作这块用内联 ...
数据结构:栈应用_求解汉诺塔(Hanoi)1
转自: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
发表评论
-
图眼高校网IP正在备案,目前暂停访问,给您带来不便表示歉意!
2015-07-24 09:17 463亲, 图眼高校网(http://school.ma ... -
Linux查看登录用户信息
2014-11-07 23:11 674w 命令 功能说明:显示目前登入系统的用户信息。 ... -
SVN常用命令【转】
2014-06-09 16:39 7631、检出svn co http://路径(目录或文件的全 ... -
解决 /usr/bin/ld: cannot find -lxxx [转]
2013-11-05 10:38 1049在linux环境编译应用程式或lib的source code ... -
Linux下常用FTP命令[转]
2013-10-18 18:42 7541. 连接ftp服务器 格式:ftp [hostname| ... -
VI中的多行删除与复制 [转载]
2013-10-15 11:21 1032方法一: 单行删除, ... -
linux:/lib/libc.so.6: version `glibc_2.7′ not found[转]
2013-08-25 10:15 1267转载地址:http://blog.sina.com.cn/s ... -
/usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.9' not found问题解决
2013-08-24 15:29 1498Redhat上经常出现/usr/lib/libstdc++. ... -
Linux中设置环境变量
2013-08-24 15:15 6831. 更改变量的配置文件 ~/.bash_profile ... -
shell字符串的处理【转】
2012-11-08 22:28 1114shell字符串的处理 截取; s ... -
Ubuntu shell scripts报错:Syntax error: Bad for loop variable解决方法 [转]
2012-11-08 16:03 1085今天晚上在实验室没事写了个简单的shell script 如 ... -
解压xz文件【转】
2012-10-29 20:04 1158最新一段时间会经常听到xz被采用的声音,像是最新的arc ... -
linux搭建Subversion服务器+修改svn端口号[转]
2012-10-26 16:24 7657linux搭建Subversion服务器+修 ... -
用putty中的pscp命令拷贝文件[转]
2012-09-12 09:50 1739如果linux上开着SSH服务,就可以在Windows下 ... -
PBS环境qsub, qstat, qdel[转]
2012-02-24 11:44 4096PBS环境qsub, qstat, qdel PBS ... -
PBS/torque常见错误[转]
2012-02-24 11:40 42551、# PBS_Server: Resource tempo ... -
PBS的配置
2011-11-16 15:21 2991PBS的配置 http://grid.tsing ... -
使用Ulimit命令[转]
2011-11-16 15:10 998使用Ulimit命令 http: ... -
Linux进程管理[转]
2011-11-16 15:06 684LINUX进程管理[转] ... -
CENTOS5中安装Skype
2011-11-01 10:56 968CENTOS 5.5中安装SKYPE(安装包名:skype_s ...
相关推荐
Linux 系统 shell脚本读取配置文件
在UEFI环境下,这样的日志文件可以方便地在不同的环境中运行,无论是在U启动UEFI版本还是在实体机上,只要系统支持UEFI shell,就可以读取并分析"meminfo.log"。 值得注意的是,读取内存数据需谨慎操作,因为直接...
Shell 脚本逐行读取文件方法详解 在Shell脚本中逐行读取文件是一种常见的操作,下面我们将详细介绍四种不同的方法来实现这个操作。 方法一:使用输入重定向 使用输入重定向是逐行读取文件的最简单方法。在while...
本文将深入探讨如何使用shell脚本来实现可配置化的文件夹中文件名称读取,这对于日常的文件管理和自动化任务至关重要。 首先,我们需要了解shell脚本的基本结构。一个简单的shell脚本通常以`#!/bin/bash`开头,这被...
读取文件SHELL并判断文件生成时间,考虑到文件可能没有生成完,低于5分钟文件不拷贝。并且可以循环处理,分别判断生成的时间
多个文件读取方法 那么,如何实现同时多个文件的读取呢?我们可以继续利用 bash 中的文件重定向功能,将文件重定向到特定的文件描述符中。文件描述符是操作系统提供的一个整数值,用于标识一个打开的文件。 bash 中...
在Windows编程中,快速有效地读取并显示系统...通过分析和学习这段代码,我们可以更深入地了解如何利用`WinShell`库高效地读取和显示系统文件图标。这不仅有助于提升应用程序的性能,还能为用户提供更好的交互体验。
在Linux操作系统中,当用户打开一个Shell,例如Bash,系统会按照特定的顺序读取一系列的配置文件,以便初始化Shell环境。这些配置文件用于设置环境变量、定义别名、自定义Shell行为等。理解这一顺序对于管理和维护...
这是shell写的一个小脚本 为了让那些在linux下查看windows下的一些文件提供方便 只需将后缀改成.sh 再将其拷贝到你要转换的文件夹下 运行就OK
本文将以“读取配置文件的shell脚本实现”为例,深入讲解如何使用awk命令解析配置文件并提取所需信息。 配置文件通常包含键值对,例如在例子中的`Config.ini`,它定义了网络配置项。awk命令是Linux shell中强大的...
source返回文件最后一个命令的返回值,如果文件不能读取则会失败。 语法格式:source [文件] 参考实例 读取和执行/root/.bash_profile文件: [root@linuxcool ~]# source ~/.bash_profile 执行刚修改的初始化文件,...
在IT领域,尤其是在系统管理和自动化任务中,Shell脚本经常被用来处理各种任务,其中之一就是读取配置文件。本文将详细讲解如何使用Shell脚本来读取标准的ini配置文件,并通过一个具体的Demo来演示这一过程。 ini...
其实这个作用没那么特别大,但多个shell如果每个配置信息都在shell文件里面写,懂的人还好,半懂+不仔细的人要如何改,改几个地方估计脚本就不能运行了。所以这样单独哪出来比较好些,而且可以多个shell使用一个ini...
因为最近要处理一些 JSON 数据格式,所以在经过一番搜索后 最终找到了 jq 这个很棒的工具。jq 允许你直接在命令行下对 JSON 进行操作,包括分片、过滤、转换等等。 让我们通过几个例子来说明 jq 的功能: ...
用pandas读取excel数据,并把数据分组保存在txt文件里,自动生成shell脚本,把window的格式转换为unix格式可直接拖到linux执行shell脚本
特别是在自动化运维、数据处理等领域,使用Shell脚本进行文件读取是非常高效的手段之一。本文将详细介绍如何利用Shell脚本中的循环结构(for循环和while循环)来逐行读取文件,并通过示例代码进行具体说明。 #### ...
在Shell脚本中,从文件中逐行读取内容是常见的操作,通常用于处理文本文件。这里我们将详细介绍三种不同的方法:使用for循环、定义代码块并重定向以及使用while循环结合read命令。 **1. 使用for循环从文件中逐行...
本篇将详细介绍如何使用Shell脚本结合CSV文件批量将数据导入MySQL数据库,以提高工作效率。 首先,`prov.csv` 是一个包含CSV(逗号分隔值)格式的数据文件,这种文件类型常用于存储表格数据,易于读写和处理。在本...
这说明该EFI Shell文件已经包含了所有必要的依赖,不需要在目标系统上进行额外的安装或配置。这种便利性对于系统管理员或者技术人员来说非常有用,他们可以随时随地在任何支持UEFI的设备上快速启动EFI Shell进行操作...
本文主要讲解了四种不同的方法来使用Shell逐行读取文件。每种方法都有其特定的用途和效率,了解这些方法可以帮助你根据具体需求选择最合适的方式。 1. **while循环法**: 这是最常见且效率最高的方法。通过`while ...