设为首页 加入收藏

TOP

Linux shell 读文件按行处理
2015-02-02 14:10:46 来源: 作者: 【 】 浏览:20
Tags:Linux shell 文件 处理

一种方式是用 cat和反引号


ps:反引号在Linux中起着命令替换的作用。命令替换是指shell能够将一个命令的标准输出插在一个命令行中任何位置。


输入格式如下:


20151207 617899182468@qq.com


20151225 155581558905678


如下


内部字段分隔符(Internal Field Separator, IFS)是shell脚本中的一个重要概念。IFS是存储定界符的环境变量。它是当前shell环境使用的默认定界字符串,例:
? ? data=”name, sex, rollno, location”? ? #我们可以使用IFS读取变量中的每一个条目
? ? oldIFS=$IFS
? ? IFS=”,”
? ? for item in $data
? ? do
? ? ? ? echo Item: $item
? ? done
? ? IFS=$oldIFS


count=0
for line in `cat data.txt`
do
? IFS=$' '
? for value in $line
? do
? count=$[$count+1]
? ? echo $value?
? done
#echo $line


done


一种是用管道或者重定向


' | '表示管道连接,在linux中管道就是一个特殊的文件描述符。


管道是Linux中很重要的一种通信方式,是把一个程序的输出直接连接到另一个程序的输入,常说的管道多是指无名管道,无名管道只能用于具有亲缘关系的进程之间,这是它与有名管道的最大区别。


有名管道叫named pipe或者FIFO(先进先出),可以用函数mkfifo()创建。


# second example
cat data.txt |? while read line
do
?for var in $line
?do
? echo $var
?done
done


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Bash脚本实现批量作业并行化 下一篇Android 自动更新的实现

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: