文件list.txt 内容为 第一行: 192.168.2.1 test test
第二行未 192.168.2.2 test test
awk 如何循环读取每行的每列的值 ?
想实现 ftp 192.168.2.1 ftp 192.168.2.2
并分别向 这两台主机传送个文件
第二行末?你是指第二行前面还有其他内容?
不过IP地址都是倒数第三个对吧?那就用 awk '{print $(NF-2)}' 来输出 IP 地址。
######可否留下QQ这样交流不是太方便。 我是这个意思,文件list.txt 有很多条 $1 是IP $2 是User $3 是passwd ,我在服务器上想把一个脚本文件传送给所有在list.txt中的主机上去。
#!/bin/bash
clear
#set -x
ip=$(awk '{ print $1; }' list.txt)
user=$(awk '{ print $2; }' list.txt)
passwd=$(awk '{ print $3; }' list.txt)
echo $ip >./tmp/ip.txt
echo $user >./tmp/user.txt
echo $passwd >./tmp/passwd.txt
count=`cat list.txt |wc -l`
for i in `seq $count`
do
echo $i
fip=$(awk '{ print $i; }' ./tmp/ip.txt) 这个$i 这里不能读这个文件的第一例?
fuser=$(awk '{ print $i; }' ./tmp/user.txt)
fpasswd=$(awk '{ print $i; }' ./tmp/passwd.txt)
echo $fip
echo $fuser
echo $passwd
continue
done
# ftp -v -n $fip << END
# user $fuser $fpasswd
# binary
# cd /usr/test/test
# prompt
# mput video.sh
# chmod 777 video.sh
# close
# bye
# END
#done
输出结果是这样:我想第一次循环就读出168.168.1.177 test test 第二次就读出 168.168.1.176 wisdom wisdom 以供ftp -v -n 使用
root@wisdom:/home/wisdom/ftp# ./ftp.sh
1
168.168.1.177 168.168.1.176 168.168.1.222 168.168.1.175
test wisdom wisdom test
test wisdom wisdom test
2
168.168.1.177 168.168.1.176 168.168.1.222 168.168.1.175
test wisdom wisdom test
test wisdom wisdom test
3
168.168.1.177 168.168.1.176 168.168.1.222 168.168.1.175
test wisdom wisdom test
test wisdom wisdom test
4
168.168.1.177 168.168.1.176 168.168.1.222 168.168.1.175
test wisdom wisdom test
test wisdom wisdom test
你把
count=`cat list.txt |wc -l`
改成
count=`cat list.txt |wc -w` 试试
==========================
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。