24小时热门版块排行榜    

查看: 1906  |  回复: 8

meatball1982

铜虫 (小有名气)

[求助] 用shell将文件和一行的两个数值分别给两个变量

我要用shell调用awk来实现我的任务。
要实现的文件的名字序号在ind.txt中。
我希望每次读入一行。
比如
2172,2957
将其分别给
var1=2172;
var2=2957;
然后对
var1和var实现操作。
我想在shell中实现这个过程。
但每次读入的时候"2172,2957"都作为一个变量了。
CODE:
# /bin/bash cat ind.txt |while read line; do # type your code here #var1= #var2= done

我希望用.sh实现。注意,不是awk或是shell.请大家帮忙。用shell将文件和一行的两个数值分别给两个变量
ind_txt.gif
回复此楼

» 本帖附件资源列表

  • 欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
    本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:xiaomuchong@tal.com
  • 附件 1 : ind.txt
  • 2013-05-24 12:11:02, 60 bytes
  • 附件 2 : sh_run.sh
  • 2013-05-24 12:11:07, 95 bytes

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

唉。还是学吧。
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

meatball1982

铜虫 (小有名气)

竟然自己解决了,不过方法很笨。
不过这个程序我依旧需要,看看比我好的方法是什么样的。
对比学习一下。

悬赏金币还四有效的。
唉。还是学吧。
2楼2013-05-24 13:57:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

avhg

木虫 (著名写手)

幻象

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
meatball1982: 金币+30, ★★★★★最佳答案 2013-05-26 08:42:51
csgt0: 金币+1, 谢谢 2013-05-26 21:23:08
$var0=................
var=`echo $var0 | awk -F',' '{print $0}' | sed "s/,/ /g"`
for list in $var
do
    ……
done
只要坚持,胜利是迟早的事。
3楼2013-05-25 10:41:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

meatball1982

铜虫 (小有名气)

引用回帖:
3楼: Originally posted by avhg at 2013-05-25 10:41:24
$var0=................
var=`echo $var0 | awk -F',' '{print $0}' | sed "s/,/ /g"`
for list in $var
do
    ……
done

收到。谢谢。我研究研究先。
唉。还是学吧。
4楼2013-05-25 10:54:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

avhg

木虫 (著名写手)

幻象

用perl岂不是很方便就解决了
只要坚持,胜利是迟早的事。
5楼2013-05-25 19:01:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

meatball1982

铜虫 (小有名气)

引用回帖:
5楼: Originally posted by avhg at 2013-05-25 19:01:30
用perl岂不是很方便就解决了

perl我不太会用。现在shell和awk也只是新学。在一点点的研究。
唉。还是学吧。
6楼2013-05-26 08:42:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

tanyxxmc

新虫 (初入文坛)

不要太僵硬了吧,按照你给的脚本和要求三楼做到了,不过开了很多个线程很麻烦也。利用perl的一行流:
perl -ne '@_ = split /,/,$_; print "sh to_do.sh $_[0] $_[1]"' ind.txt >sh_run.sh
7楼2013-06-07 10:46:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

tanyxxmc

新虫 (初入文坛)

(晕,不小心Ctrl+Enter发送了。)续:
命令会重写sh_run.sh,所以把你要做的事情写在to_do.sh里。执行这个新的sh_run.sh便可。

» 本帖已获得的红花(最新10朵)

8楼2013-06-07 10:48:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

meatball1982

铜虫 (小有名气)

送红花一朵
引用回帖:
8楼: Originally posted by tanyxxmc at 2013-06-07 10:48:26
(晕,不小心Ctrl+Enter发送了。)续:
命令会重写sh_run.sh,所以把你要做的事情写在to_do.sh里。执行这个新的sh_run.sh便可。

非常感谢。
唉。还是学吧。
9楼2013-06-07 14:29:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 meatball1982 的主题更新
信息提示
请填处理意见