小编fra*_*ank的帖子

Shell命令到tar目录,不包括某些文件/文件夹

是否有一个简单的shell命令/脚本支持排除某些文件/文件夹被存档?

我有一个目录需要使用子目录进行存档,该子目录包含许多我不需要备份的非常大的文件.

不完全解决方案:

tar --exclude=PATTERN命令与给定模式匹配并排除这些文件,但我需要忽略特定文件和文件夹(完整文件路径),否则可能会排除有效文件.

我还可以使用find命令创建文件列表并排除我不想存档的文件并将列表传递给tar,但这仅适用于少量文件.我有成千上万.

我开始认为唯一的解决方案是创建一个文件,其中包含要排除的文件/文件夹列表,然后使用rsync --exclude-from=file将所有文件复制到tmp目录,然后使用tar来存档该目录.

谁能想到更好/更有效的解决方案?

编辑:cma的解决方案效果很好.最重要的是--exclude='./folder' 必须在tar命令的开头.完整命令(cd首先,所以备份是相对于该目录):

cd /folder_to_backup
tar --exclude='./folder' --exclude='./upload/folder2' -zcvf /backup/filename.tgz .
Run Code Online (Sandbox Code Playgroud)

linux shell tar archive

760
推荐指数
16
解决办法
82万
查看次数

空检查链与捕获NullPointerException

Web服务返回一个巨大的XML,我需要访问它的深层嵌套字段.例如:

return wsObject.getFoo().getBar().getBaz().getInt()
Run Code Online (Sandbox Code Playgroud)

问题是getFoo(),getBar(),getBaz()可能所有的回报null.

但是,如果我null在所有情况下检查,代码将变得非常冗长且难以阅读.此外,我可能会错过某些领域的支票.

if (wsObject.getFoo() == null) return -1;
if (wsObject.getFoo().getBar() == null) return -1;
// maybe also do something with wsObject.getFoo().getBar()
if (wsObject.getFoo().getBar().getBaz() == null) return -1;
return wsObject.getFoo().getBar().getBaz().getInt();
Run Code Online (Sandbox Code Playgroud)

写作是否可以接受

try {
    return wsObject.getFoo().getBar().getBaz().getInt();
} catch (NullPointerException ignored) {
    return -1;
}
Run Code Online (Sandbox Code Playgroud)

还是会被视为反模式?

java null exception nullpointerexception custom-error-handling

108
推荐指数
4
解决办法
1万
查看次数

numpy.shape给出了不一致的回答 - 为什么?

为什么这个程序

import numpy as np

c = np.array([1,2])
print(c.shape)
d = np.array([[1],[2]]).transpose()
print(d.shape)
Run Code Online (Sandbox Code Playgroud)

(2,)
(1,2)
Run Code Online (Sandbox Code Playgroud)

作为其输出?不应该

(1,2)
(1,2)
Run Code Online (Sandbox Code Playgroud)

代替?我在python 2.7.3和python 3.2.3中都得到了这个

python numpy

17
推荐指数
2
解决办法
2万
查看次数

defaultdict:第一个参数必须是可调用的或无

我运行了以下代码:

from collections import defaultdict
lst = list(range(0,5))
d = defaultdict(lst)
Run Code Online (Sandbox Code Playgroud)

我收到了这个错误:

TypeError: first argument must be callable or None
Run Code Online (Sandbox Code Playgroud)

请帮忙

python defaultdict

12
推荐指数
3
解决办法
9868
查看次数

Ubuntu 16.04 R安装:configure:gdal-config未找到或不可执行

系统信息:

Ubuntu 16.04
64 bit
Run Code Online (Sandbox Code Playgroud)

我正在尝试为研究项目安装rgdal_1.2-16.tar.gz.我看着这里,做

sudo apt-get install libgdal1i

R CMD INSTALL rgdal_1.2-16.tar.gz 
* installing to library ‘/usr/local/lib/R/site-library’
* installing *source* package ‘rgdal’ ...
** package ‘rgdal’ successfully unpacked and MD5 sums checked
configure: CC: gcc -std=gnu99
configure: CXX: g++
configure: rgdal: 1.2-16
checking for /usr/bin/svnversion... no
configure: svn revision: 701
checking for gdal-config... no
no
configure: error: gdal-config not found or not executable.
ERROR: configuration failed for package ‘rgdal’
* removing ‘/usr/local/lib/R/site-library/rgdal’
Run Code Online (Sandbox Code Playgroud)

那么我试着打开R:

R
> install.packages('/home/n/Downloads/rgdal_1.2-16.tar.gz', …
Run Code Online (Sandbox Code Playgroud)

ubuntu r gdal linux-mint ubuntu-16.04

6
推荐指数
1
解决办法
4270
查看次数

在python sklearn中对一维数组使用高斯混合

我想使用高斯混合模型来返回如下图所示的内容,除了正确的高斯分布。

我正在尝试使用 pythonsklearn.mixture.GaussianMixture但我失败了。我可以将每个峰值视为任何给定 x 值的直方图的高度。我的问题是:我是否必须找到一种方法将这个图转换为直方图并删除负值,或者有没有办法将 GMM 直接应用于这个数组以产生红色和绿色高斯?

在此处输入图片说明

python gaussian scikit-learn mixture

6
推荐指数
1
解决办法
5231
查看次数

如何获取 gcloud 的 shell 命令完成(自动完成)?

我尝试了 1. Ubuntu 的官方 Google 安装,以及 2. one-liner sudo snap install google-cloud-sdk --classic,两者都没有给我命令自动完成功能tab。有人找到了可以自动完成的安装版本吗?我的最后一台笔记本电脑上有它,所以我知道这是可能的

IE。用法:(gcloud compute instances li在这里你点击tab)它会自动完成gcloud compute instances list

谢谢!

bash ubuntu autocomplete google-cloud-platform ubuntu-20.04

5
推荐指数
1
解决办法
4018
查看次数