首页 » 技术分享 » bash特性之文件名通配(globbing)

bash特性之文件名通配(globbing)

 

bash特性之文件名通配(globbing):
    *: 任意长度的任意字符
        p*d, pad, pbd, pd
        *ab*c
    ?: 匹配任意单字符
    []: 匹配指定范围内的任意单字符
        [abc], [a-z], [0-9], [0-9a-z]
    [^]:匹配指定范围以外的任意单字符
        [^0-9a-z]

        字符集合:
            [:space:] : 所有空白字符
            [:punct:] : 所有标点符号
            [:lower:] :所有小写字母
            [:upper:]
            [:digit:]
            [:alnum:]
            [:alpha:]

    练习:
        1、显示/var目录下所有以l开头,以一个小字母结尾,且中间出现一位数字的文件或目录;
            # ls /var/l*[[:digit:]]*[[:lower:]]
        2、显示/etc目录下,以任意一位数字开头,且以非数字结尾的文件或目录;
            # ls -d /etc/[[:digit:]]*[^[:digit:]]
        3、显示/etc目录下,以非字母开头,后面跟了一个字母及其它任意长度字符的文件或目录;
            # ls -d /etc/[^[:alpha:]][[:alpha:]]*

    练习:
        1、在/tmp/mytest目录中创建以testdir打头,后跟当前日期和时间的空目录,形如testdir-2014-07-03-09-15-33;
            # mkdir -pv /tmp/mytest/testdir-$(date +%F-%H-%M-%S)

转载自原文链接, 如需删除请联系管理员。

原文链接:bash特性之文件名通配(globbing),转载请注明来源!

0