Chinaunix
标题:
while read awk 循环问题
[打印本页]
作者:
609854
时间:
2012-09-13 14:53
标题:
while read awk 循环问题
cat /etc/hosts | grep i |while read line
do
awk '{print $1}'
echo "a"
done
复制代码
16.73.247.1
16.187.16.19
16.173.24.28
16.173.20.4
16.187.17.5
16.173.26.93
16.173.21.30
16.173.24.8
16.173.26.5
16.173.25.5
16.173.25.6
a
复制代码
问题: 这个循环怎么是这样的 ,而不是
print $1 再echo a
,再
print $1 再echo a
,...
作者:
jason680
时间:
2012-09-13 15:32
回复
1#
609854
how about this
# awk '/i/{print $1}' /etc/hosts
作者:
609854
时间:
2012-09-13 15:36
回复
2#
jason680
16.73.247.1
16.187.16.19
16.173.24.28
16.173.20.4
16.187.17.5
16.173.26.93
16.173.21.30
16.173.24.8
16.173.26.5
16.173.25.5
16.173.25.6
作者:
zooyo
时间:
2012-09-13 15:38
提示:
作者被禁止或删除 内容自动屏蔽
作者:
kk5234
时间:
2012-09-13 15:48
本帖最后由 kk5234 于 2012-09-13 15:51 编辑
回复
3#
609854
awk '/i/{print $1}' /etc/hosts |while read line
do
echo $line
echo a
done
复制代码
作者:
609854
时间:
2012-09-13 15:57
回复
4#
zooyo
能用,可以不知道 怎么循环的
作者:
609854
时间:
2012-09-13 15:58
回复
5#
kk5234
16.173.246.72
a
16.157.131.252
a
16.157.133.198
a
16.173.247.38
a
16.173.244.115
a
16.173.246.115
a
复制代码
可是我 1楼那个 ,为什么 是那样的结果呢
作者:
kk5234
时间:
2012-09-13 16:03
本帖最后由 kk5234 于 2012-09-13 16:04 编辑
回复
7#
609854
awk是一行一行往下执行的,执行完所有输入行后才执行echo "a"
作者:
qq5910225
时间:
2012-09-16 22:16
cat /etc/hosts | grep i |while read line
do
echo ${line}|awk '{print $1}'
echo "a"
done
复制代码
改了一下。你写的那个每行都存变量里了,awk啥都没取出来。而且相当不明白你这种脱了裤子放屁的写法。
作者:
dn833
时间:
2012-09-16 22:43
awk '/i/{print $1"\na"}' /etc/hosts
复制代码
作者:
ly5066113
时间:
2012-09-16 23:05
回复
1#
609854
经典的IO重定向问题,看SHELL版新手导航9楼,“关于while read只执行一次的问题”
作者:
blackold
时间:
2012-09-17 13:02
回复
11#
ly5066113
嗯,你来过了。
经典问题!
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2