Unix命令递归地生成文件和文件夹

时间:2016-02-20 19:41:02

标签: bash shell unix

我知道mkdir -p将以递归方式创建目录。

我知道touch会递归创建一个文件。

我知道mkdir -p foo/bar; touch foo/bar/baz.txt会有效,但touch是否有旗帜或其他内容,所以我可以一步到位?

我确信这个问题在一百万次之前已经被问过了,但出于某种原因我才会空洞。

2 个答案:

答案 0 :(得分:6)

别名或功能怎么样:

function my_touch {
  mkdir -p $(dirname $1) && touch $1
}

my_touch /tmp/a/b/aaa ; ls -l /tmp/a/b/aaa

答案 1 :(得分:3)

做一件事,做得好。

如果你想这一步,只需编写一个bash函数或别名。

e.g:

function mytouch()
{
    test -z "$1" && exit
    dir=$(dirname $1)
    test -d $dir || mkdir -p $dir
    touch $1
}