我正在尝试编写一个简单的bash脚本,该脚本会将一个文件夹的所有内容(包括隐藏文件和文件夹)复制到另一个文件夹中,但是我想排除某些特定的文件夹。我怎样才能做到这一点?
1
我想像发现。-name *通过管道传递到grep / v“ exclude-pattern”以过滤不需要的内容,然后通过管道传递给cp进行复制。
—
i_am_jorf'2
我试图做类似的事情,但无法弄清楚如何在管道上使用cp
—
trobrock 2010年
这可能应该交给超级用户。您要查找的命令是xargs。您还可以执行类似两个通过管道连接的焦油的操作。
—
Kyle Butt 2010年
也许是晚了,但它并不能准确回答问题,但是这里有个提示:如果您只想排除目录的直接子级,则可以利用bash模式匹配,例如
—
Boris D. Teoharov
cp -R !(dir1|dir2) path/to/destination
请注意,
—
Boris D. Teoharov 2014年
!(dir1|dir2)
需要extglob
打开图案(shopt -s extglob
将其打开)。