当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 5 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : [问题]从文件中一行一行读取数据作为参数, 来执行命令
帖子发表于 : 2008-02-23 14:50 

注册: 2005-12-09 16:22
帖子: 30
送出感谢: 0 次
接收感谢: 0 次
搞明白了, 总结一下:

(dat.txt是数据文件, 形式如下:)
代码:
1
8
3
5
9
1

1. 一行一行读取文件:

代码:
while read line
do
echo $line
done < dat.txt


2. 把命令一行行写在dat.txt里, 然后逐行执行:
代码:
echo 1
mkdir a
diff a/1.txt a/2.txt


代码:
FILE=cat dat.txt

echo "$FILE" | \     # notice we PIPE the output data to the next line (denoted by \)
while read CMD; do   # CMD is the line, this could be any variable name
   $CMD             # just execute it
done


整理了一下, 方便后来人 :D


_________________
java程序员 linux菜鸟 C++初学者
http://ke-cai.net


最后由 caike 编辑于 2008-02-23 17:09,总共编辑了 1 次

页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2008-02-23 16:21 
头像

注册: 2007-03-13 17:26
帖子: 2254
送出感谢: 0 次
接收感谢: 1
....你想说什么。。


在循环里 写命令啊,加 $ 变量


页首
 用户资料  
 
3 楼 
 文章标题 :
帖子发表于 : 2008-02-23 16:34 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 272
cat xxx | while read i; do xxxx; done

估计楼主还没明白自己需要怎么的操作。先说说,自己要什么操作。


_________________
● 鸣学


页首
 用户资料  
 
4 楼 
 文章标题 :
帖子发表于 : 2008-02-23 16:52 
头像

注册: 2006-07-02 11:16
帖子: 12522
地址: 廣州
送出感谢: 0 次
接收感谢: 8
FILE=`cat filename`

echo "$FILE" | \ # notice we PIPE the output data to the next line (denoted by \)
while read i; do
./a.sh $i
done


_________________
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。


页首
 用户资料  
 
5 楼 
 文章标题 :
帖子发表于 : 2008-02-23 16:55 

注册: 2005-12-09 16:22
帖子: 30
送出感谢: 0 次
接收感谢: 0 次
多谢朋友们的帮忙, 解决方法整理在上面了

引用:
是这样的, 这个dat文件是一个程序生成的, 只是一些前期处理的结果, 我想在另一脚本里读取这些结果, 再进行下一步处理.

我找到的这种方法只能顺序执行dat文件里的命令, 我还要再用sed把每行再加上命令名.
我也是希望在while循环里只读出数据, 而不是执行里面的一条条命令.

代码:
echo "$FILE" | \     # notice we PIPE the output data to the next line (denoted by \)
while read CMD; do   # CMD is the line, this could be any variable name
   echo $CMD             # just execute it
done


上面的写法是不行的, 如果dat文件里只是1,3,4的数字, 会报找不到命令的错误.

希望能说明白了:)


_________________
java程序员 linux菜鸟 C++初学者
http://ke-cai.net


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 5 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 1 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译