关于shell脚本如何利用mkdir创建路径时忽略大小写的问题?
#!/bin/shpath="aa/bb/cc/dd"mkdir-p$path以上比方说我有一条(变量)路径path,把这个变量给到mkdir来创建,但是跟bb同一级的还...
#!/bin/sh
path="aa/bb/cc/dd"
mkdir -p $path
以上比方说我有一条(变量)路径path,把这个变量给到mkdir 来创建,但是跟bb同一级的还有个文件夹BB,这时我不想让它创建bb,而是直接在BB文件夹下创建cc,最后创建的路径是 aa/BB/cc/dd ,就是说让它在创建的过程中忽略大小写!
请问哪位shell高手帮帮忙!谢谢! 展开
path="aa/bb/cc/dd"
mkdir -p $path
以上比方说我有一条(变量)路径path,把这个变量给到mkdir 来创建,但是跟bb同一级的还有个文件夹BB,这时我不想让它创建bb,而是直接在BB文件夹下创建cc,最后创建的路径是 aa/BB/cc/dd ,就是说让它在创建的过程中忽略大小写!
请问哪位shell高手帮帮忙!谢谢! 展开
3个回答
展开全部
可以用如下方法:
步骤1:
取得path路径的最前端路径(可用awk或sed语句)
(需要保证这个路径的大小写正常,如果不正常,需要再往前一级目录)
这里取到的是aa
步骤2:
取得path路径的除最后需要建的目录以外的路径(可用awk或sed语句)
这里取得的是aa/bb/cc
步骤3:
使用find命令查找这个路径
find aa -ipath aa/bb/cc
这样就会输出真实的路径,
此外,如果路径不存在或者有其他冗余信息或者存在多条,
可以在后面接一个grep语句(忽略大小写的)得到真实的路径,一般选择第一条吧
完整命令这样写
find aa -ipath aa/bb/cc | grep -izZ aa/bb/cc
步骤3:
用最后得到路径建立文件夹
mkdir -p "最后得到的路径/需要建的文件夹"
步骤1:
取得path路径的最前端路径(可用awk或sed语句)
(需要保证这个路径的大小写正常,如果不正常,需要再往前一级目录)
这里取到的是aa
步骤2:
取得path路径的除最后需要建的目录以外的路径(可用awk或sed语句)
这里取得的是aa/bb/cc
步骤3:
使用find命令查找这个路径
find aa -ipath aa/bb/cc
这样就会输出真实的路径,
此外,如果路径不存在或者有其他冗余信息或者存在多条,
可以在后面接一个grep语句(忽略大小写的)得到真实的路径,一般选择第一条吧
完整命令这样写
find aa -ipath aa/bb/cc | grep -izZ aa/bb/cc
步骤3:
用最后得到路径建立文件夹
mkdir -p "最后得到的路径/需要建的文件夹"
展开全部
unix是严格区分大小写的,加上mkdir命令是没有忽略大小写的参数,不妨用下面的脚本吧,也是可以实现你的功能
#!/bin/sh
path="aa/bb/cc/dd"
path2="aa/BB"
if [ -d $path2 ]
then
mkdir -p aa/BB/cc/dd
else
mkdir -p $path
fi
#!/bin/sh
path="aa/bb/cc/dd"
path2="aa/BB"
if [ -d $path2 ]
then
mkdir -p aa/BB/cc/dd
else
mkdir -p $path
fi
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用tolowercase对象
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询