纯菜鸟请教个shell脚本问题,怎样使用文本中的数据做参数?
-
- 帖子: 8
- 注册时间: 2007-11-16 21:40
纯菜鸟请教个shell脚本问题,怎样使用文本中的数据做参数?
比如有个文本文件内容如下
one two three
有三个词分别用空格隔开
请问如何调用某个单词作为一个值在下面的命令中使用?
比如分别
echo one
echo two
echo three
要求一个shell脚本能处理多个这样的格式的不同文本
one two three
有三个词分别用空格隔开
请问如何调用某个单词作为一个值在下面的命令中使用?
比如分别
echo one
echo two
echo three
要求一个shell脚本能处理多个这样的格式的不同文本
上次由 ringz 在 2013-11-03 23:21,总共编辑 1 次。
-
- 帖子: 61
- 注册时间: 2012-12-07 15:53
- 系统: ubuntu12.04
Re: 纯菜鸟请教个shell脚本问题
words=$(cat file) #file时包含字符串的文件
for w in $words
do
echo $w
done
for w in $words
do
echo $w
done
-
- 帖子: 8
- 注册时间: 2007-11-16 21:40
Re: 纯菜鸟请教个shell脚本问题
echo我只是简单举个例子,如果说我想只使用第n个单词作为值到下面的命令中使用该怎么做?不知道我说的够不够清楚,麻烦各位懂linux的朋友帮个忙了,谢谢了Jusong 写了:words=$(cat file) #file时包含字符串的文件
for w in $words
do
echo $w
done
-
- 帖子: 8
- 注册时间: 2007-11-16 21:40
Re: 纯菜鸟请教个shell脚本问题
是不是应该用awk就可以实现?我研究了下应该是可以只不过 具体怎么弄啊 比如设定参数a b c把第1第二第三个个单词的值给a,bc让abc带到下面的命令中使用
-
- 帖子: 61
- 注册时间: 2012-12-07 15:53
- 系统: ubuntu12.04
Re: 纯菜鸟请教个shell脚本问题
你是要做啥呢,如果只是想获取第N个单词留作后面用,你可用for循环计数到第N个词,然后将其保存到一个变量里面,for ( ( i=0; i<n;i++ )) 也是可以使用的ringz 写了:echo我只是简单举个例子,如果说我想只使用第n个单词作为值到下面的命令中使用该怎么做?不知道我说的够不够清楚,麻烦各位懂linux的朋友帮个忙了,谢谢了Jusong 写了:words=$(cat file) #file时包含字符串的文件
for w in $words
do
echo $w
done
- eexpress
- 帖子: 58428
- 注册时间: 2005-08-14 21:55
- 来自: 长沙
Re: 纯菜鸟请教个shell脚本问题,怎样使用文本中的数据做参数?
你这只是获取文件内容了,不是参数,可以这样
没你这样使用参数的,都是用参数解析命令 getopt。
代码: 全选
in=`cat xxx|sed -n '4p'`
没你这样使用参数的,都是用参数解析命令 getopt。
● 鸣学
-
- 帖子: 8
- 注册时间: 2007-11-16 21:40
Re: 纯菜鸟请教个shell脚本问题,怎样使用文本中的数据做参数?
我这样可以得到我要的值
cat test.txt | awk '{print $2}'
这个可以得到第二个词two
怎样作为一个值到下面使用?
求成品
cat test.txt | awk '{print $2}'
这个可以得到第二个词two
怎样作为一个值到下面使用?
求成品
-
- 帖子: 8
- 注册时间: 2007-11-16 21:40
Re: 纯菜鸟请教个shell脚本问题,怎样使用文本中的数据做参数?
我分别运行这三个命令
$var_a
var_a="cat test.txt | awk '{print $2}' "
echo $var_a
输出结果是 cat test.txt | awk '{print $2}'
请问哪里不对
$var_a
var_a="cat test.txt | awk '{print $2}' "
echo $var_a
输出结果是 cat test.txt | awk '{print $2}'
请问哪里不对
- zhw2101024
- 帖子: 1849
- 注册时间: 2009-03-28 16:10
- 系统: Arch debian win7
- 联系:
Re: 纯菜鸟请教个shell脚本问题,怎样使用文本中的数据做参数?
echo `cat test.txt | awk '{print $2}' `
跟你那个对照一下就知道了
`是~同一个按键的那个字符
跟你那个对照一下就知道了
`是~同一个按键的那个字符
为什么我的问题总是没有人回答?
金钱、责任与荣誉:OpenSSL主席谈心脏出血
拥有丰富API接口和广泛程序支持的dropbox云同步,点此注册,开始就比别人多500兆,我的空间也会增加。谢啦
==========我的作品==========
我做的一个面向开发者的gnome-shell扩展,有js基础又想自己调整gnome-shell功能的可以尝试一下
gnome-shell扩展开发入门,gnome-shell扩展系统扫盲帖
金钱、责任与荣誉:OpenSSL主席谈心脏出血
拥有丰富API接口和广泛程序支持的dropbox云同步,点此注册,开始就比别人多500兆,我的空间也会增加。谢啦
==========我的作品==========
我做的一个面向开发者的gnome-shell扩展,有js基础又想自己调整gnome-shell功能的可以尝试一下
gnome-shell扩展开发入门,gnome-shell扩展系统扫盲帖
-
- 帖子: 8
- 注册时间: 2007-11-16 21:40
Re: 纯菜鸟请教个shell脚本问题,怎样使用文本中的数据做参数?
对了,谢谢,太谢谢了。解决了我的大问题。zhw2101024 写了:echo `cat test.txt | awk '{print $2}' `
跟你那个对照一下就知道了
`是~同一个按键的那个字符
- Methuselar
- 帖子: 122
- 注册时间: 2009-06-04 12:06
- 联系:
Re: 纯菜鸟请教个shell脚本问题,怎样使用文本中的数据做参数?
awk的话,可以用system函数,会调用/bin/sh来执行参数字符串:
除非你的需求很简单,否则还是用shell来作进程操作为好
代码: 全选
yes 'echo echo param1 param2' | head -n 3 | awk '{system($1" "$3); system($2" "$4)}'
Mea Culpa!
-
- 帖子: 1453
- 注册时间: 2008-05-24 8:30
Re: 纯菜鸟请教个shell脚本问题,怎样使用文本中的数据做参数?
代码: 全选
a=(`cat file`)
echo ${a[2]}