免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 823 | 回复: 3
打印 上一主题 下一主题

格式化输出的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-09-02 09:18 |只看该作者 |倒序浏览
#cat npiadiplist
hostname          ip
gz_cti_reg01      10.16.112.92
gz_hkbn_cs01    10.16.112.79
gz_hkbn_reg01  10.16.112.80
gz_aco01           10.16.112.84

#cat npiadiplist2
10.16.112.92
10.16.112.79
10.16.112.80
10.16.112.84

#cat npiadiplist3
gz_cti_reg01
gz_hkbn_cs01
gz_hkbn_reg01
gz_aco01

awk '{print $2}' $NP_IADiplist > $NP_IADiplist2
awk '{print $1}' $NP_IADiplist > $NP_IADiplist3

for ip in $(<$NP_IADiplist2)
do
#echo $ip >> $np_client_file_list
ssh $ip 'ls -F | grep / | du /nhome/output/2*******/' >> $np_client_file_list
done

#cat $np_client_file_list
3796    /nhome/output/20040812
6408    /nhome/output/20040813
4       /nhome/output/20040814
40      /nhome/output/20040815
9408    /nhome/output/20040816
5888    /nhome/output/20040817
23452   /nhome/output/20040818
6020    /nhome/output/20040819
3768    /nhome/output/20040820
4       /nhome/output/20040821
4       /nhome/output/20040822


问题:
怎样才能将/nhome/output/格式化成/nhome1/iad/hostname/2*******输出到$np_client_file_list

论坛徽章:
0
2 [报告]
发表于 2004-09-02 09:33 |只看该作者

格式化输出的问题

意思不太明白,但你可用dirname,basename试试

论坛徽章:
0
3 [报告]
发表于 2004-09-02 10:27 |只看该作者

格式化输出的问题

其实我是想这样的:
我有一个文件npiadiplist
内容如下:
gz_cti_reg01 10.16.112.92
gz_hkbn_cs01 10.16.112.79
gz_hkbn_reg01 10.16.112.80
gz_aco01 10.16.112.84

我用ssh上去以上的每台机的某个相同指定的目录中取得各个子目录的大小
但是输出的结果是:
3796 /nhome/output/20040812
6408 /nhome/output/20040813
4 /nhome/output/20040814
40 /nhome/output/20040815
9408 /nhome/output/20040816
5888 /nhome/output/20040817
23452 /nhome/output/20040818
6020 /nhome/output/20040819
3768 /nhome/output/20040820
4 /nhome/output/20040821
4 /nhome/output/20040822

如何将/nhome/output/变成相应的主机名(也就是:gz_cti_reg01,gz_hkbn_cs01,gz_hkbn_reg01,gz_aco01)

论坛徽章:
0
4 [报告]
发表于 2004-09-02 11:30 |只看该作者

格式化输出的问题

方法一:将结果分别放入两个文件,然后用脚本进行组合
文件tt1:
gz_cti_reg01 10.16.112.92
gz_hkbn_cs01 10.16.112.79
gz_hkbn_reg01 10.16.112.80
gz_aco01 10.16.112.84

文件tt2:
3796 /nhome/output/20040812
6408 /nhome/output/20040813
4 /nhome/output/20040814
40 /nhome/output/20040815

脚本文件:
#!/usr/bin/sh

i=`wc -l tt1|awk '{print $1}'`
while [ $i -gt 0 ] ;
do
temp1=`awk 'NR==j{print $2}' j=${i} tt1`
temp2=`awk 'NR==j{print $2}' j=${i} tt2`
temp2=`basename $temp2`
echo "$temp1/$temp2"
i=`expr $i - 1`
done

结果:
10.16.112.84/20040815
10.16.112.80/20040814
10.16.112.79/20040813
10.16.112.92/20040812

不知道是否要这种效果
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP