免费注册 查看新帖 |

Chinaunix

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

此shell脚本如何编写 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-07-28 23:21 |只看该作者 |倒序浏览
文件a.txt作为输入文件,内容为:
arch/arm/boot/compressed/head.S
arch/arm/Kconfig
arch/arm/kernel/irq.c

我已经知道如何读取这个文件的每一行,但对于读进来的每一行,我需要执行以下操作(以第一行“arch/arm/boot/compressed/head.S”为例):

在目录/home下面查看是否有目录arm_arm_boot_compressed,如果不存在,则创建此目录。

对于这个功能,请问该如何分解读进来的这行每个目录的名字(在这个例子里是arch,arm,boot,compressed),以及如何将其组装成arm_arm_boot_compressed,最后如何判断目录是否存在及创建之。

谢谢!
一路征程一路笑 该用户已被删除
2 [报告]
发表于 2010-07-28 23:41 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
3 [报告]
发表于 2010-07-29 00:09 |只看该作者

  1. #!/bin/bash
  2. while read line
  3. do
  4.     i=`dirname $line|sed 's#/#_#g'`
  5.     mkdir /home/$i 2>/dev/null
  6. done <$1
复制代码
一路征程一路笑 该用户已被删除
4 [报告]
发表于 2010-07-29 01:04 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
5 [报告]
发表于 2010-07-29 01:12 |只看该作者
回复 4# 一路征程一路笑


   
应该不用加-p,他这个规则不会出现2级子文件夹.

规则那个倒是我看错了 - - ,改下去
一路征程一路笑 该用户已被删除
6 [报告]
发表于 2010-07-29 01:20 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
7 [报告]
发表于 2010-07-29 01:29 |只看该作者

  1. #!/bin/bash
  2. while read line
  3. do
  4.         i=`dirname $line| awk 'BEGIN{FS="/";OFS="_"}$1="";{print $2 $0 }'`
  5.         mkdir /home/$i 2>/dev/null
  6. done <$1
复制代码
哦,你说加-p 是为了避免报错...  唉,我今天这是怎么了..

论坛徽章:
0
8 [报告]
发表于 2010-07-29 01:32 |只看该作者
回复 6# 一路征程一路笑


值班啊.. 这么晚了还没睡,
一路征程一路笑 该用户已被删除
9 [报告]
发表于 2010-07-29 01:33 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
10 [报告]
发表于 2010-07-29 02:25 |只看该作者
本帖最后由 yanu 于 2010-07-29 02:27 编辑

awk 'BEGIN{FS="/";OFS="_"}{$1=$2;sub("_[^_]*$","");system("mkdir -p /home/" $0)}' file

睡不着..真郁闷
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP