是否有一个简单的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) 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
为什么这个程序
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中都得到了这个
我运行了以下代码:
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)
请帮忙
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) 我想使用高斯混合模型来返回如下图所示的内容,除了正确的高斯分布。
我正在尝试使用 pythonsklearn.mixture.GaussianMixture
但我失败了。我可以将每个峰值视为任何给定 x 值的直方图的高度。我的问题是:我是否必须找到一种方法将这个图转换为直方图并删除负值,或者有没有办法将 GMM 直接应用于这个数组以产生红色和绿色高斯?
我尝试了 1. Ubuntu 的官方 Google 安装,以及 2. one-liner sudo snap install google-cloud-sdk --classic
,两者都没有给我命令自动完成功能tab。有人找到了可以自动完成的安装版本吗?我的最后一台笔记本电脑上有它,所以我知道这是可能的
IE。用法:(gcloud compute instances li
在这里你点击tab)它会自动完成gcloud compute instances list
谢谢!
python ×3
ubuntu ×2
archive ×1
autocomplete ×1
bash ×1
defaultdict ×1
exception ×1
gaussian ×1
gdal ×1
java ×1
linux ×1
linux-mint ×1
mixture ×1
null ×1
numpy ×1
r ×1
scikit-learn ×1
shell ×1
tar ×1
ubuntu-16.04 ×1
ubuntu-20.04 ×1