免费注册 查看新帖 |

Chinaunix

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

[文本处理] bash 求改进 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-07-19 21:04 |只看该作者 |倒序浏览
本帖最后由 big_turnip 于 2013-07-19 22:52 编辑
  1. [cbb@iac release]$ ./test.sh
  2. Please Chose An IP
  3. ####1:192.168.1.2
  4. ####2:192.168.1.3
  5. ####3:192.168.1.100
  6. ####4:193.168.1.200
  7. 3
  8. 192.168.1.100
  9. Please Chose A Document
  10. ####1:/home/faa
  11. ####2:/home/tttt
  12. ####3:/home/ccc
  13. 3
  14. /home/ccc

  15. [cbb@iac release]$ cat release.txt 
  16. 192.168.1.2 /home/www/ /home/iii
  17. 192.168.1.3 /var/log /var/log/aaa
  18. 192.168.1.100 /home/faa /home/tttt /home/ccc
  19. 193.168.1.200 /home/www/yyyy /home/www/bbbb

  20. [cbb@iac release]$ cat test.sh
  21. #!/bin/bash
  22. echo "Please Chose An IP"
  23. for line in `wc -l release.txt|cut -d' ' -f1|xargs -i seq 1 {}`
  24. do
  25.         REMOTE_IP=`awk NR==$line'{print $1}' release.txt`
  26.         echo "####$line:$REMOTE_IP"
  27. done
  28. read IP_NUM

  29. REMOTE_IP=`awk NR==$IP_NUM'{print $1}' release.txt`

  30. echo "$REMOTE_IP"
  31. echo "Please Chose A Document"
  32. for document in `awk NR==$IP_NUM'{print NF-1}' release.txt|xargs -i seq 1 {}`
  33. do
  34.         REMOTE_DIR=`awk NR==$IP_NUM'{print $(expr $document + 1)'}' release.txt`
  35.         echo "####$document:$REMOTE_DIR"
  36. done
  37. read REMOTE_DIR
  38. REMOTE_DIR=`awk NR==$IP_NUM'{print $(expr $REMOTE_DIR + 1)'}' release.txt`
  39. echo "$REMOTE_DIR"

复制代码

论坛徽章:
3
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:51:162015年亚洲杯之阿曼
日期:2015-04-07 20:00:59
2 [报告]
发表于 2013-07-19 21:31 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
3 [报告]
发表于 2013-07-19 21:41 |只看该作者
回复 2# zooyo
这是个片段上来
黏贴上来没有#!/bin/bash   
那个是我刚才打的

论坛徽章:
3
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:51:162015年亚洲杯之阿曼
日期:2015-04-07 20:00:59
4 [报告]
发表于 2013-07-19 21:47 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年纪念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役纪念章
日期:2022-04-24 14:33:24
5 [报告]
发表于 2013-07-19 21:54 |只看该作者
试试这样能否把cut省掉
  1. wc -l < $PATH/release.txt
复制代码

论坛徽章:
0
6 [报告]
发表于 2013-07-19 22:07 |只看该作者
本帖最后由 big_turnip 于 2013-07-19 22:08 编辑

就是因为我自己也觉的搓才上来求改进的
目的就是 读取release.txt
然后根据有几个IP列出例如
1:192.168.1.2
2:192.168.1.3
。。。。。。
然后输入数字选择IP
接着在列出IP后面的文件夹例如
1:/home/www
2:/home/iii
选择文件夹
release.txt里面的行数不固定
  1. cat release.txt
  2. 192.168.1.2 /home/www/ /home/iii
  3. 192.168.1.3 /var/log /var/log/aaa
  4. 192.168.1.100 /home/faa /home/tttt /home/ccc
  5. 193.168.1.200 /home/www/yyyy /home/www/bbbb
复制代码

论坛徽章:
3
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:51:162015年亚洲杯之阿曼
日期:2015-04-07 20:00:59
7 [报告]
发表于 2013-07-19 23:01 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
8 [报告]
发表于 2013-07-19 23:32 |只看该作者
回复 7# zooyo
3Q 大神!我好好研究下
   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP