我正在尝试压缩一个目录(在 Unix 上通过 SSH),但我需要排除几个子目录(以及其中的所有文件和目录)。
到目前为止,我有这个:
zip -r myarchive.zip dir1 -x dir1/ignoreDir/**/*
Run Code Online (Sandbox Code Playgroud)
不过这似乎行不通。
我也试过
zip -r myarchive.zip dir1 -x dir1/ignoreDir1/* dir1/ignoreDir2/*
Run Code Online (Sandbox Code Playgroud)
但是,这仍将包括 ignoreDir1 和 ignoreDir2 中的子目录。
我要排除的目录中的子目录结构非常庞大,因此我不能简单地将每个目录添加到 -x 参数中。
有谁知道如何做到这一点?
我知道你可以创建一个包含文件列表的文本文件,然后告诉 7zip 引用这个文件,以便它可以从存档中排除它们,但我找不到它的语法。有人可以帮忙吗?
我有一个像这样的崇高项目:
{
"folders":
[
{
"path": ".",
"folder_exclude_patterns": ["_doc", "cache", "logs", "_release"],
"file_exclude_patterns": ["*.sublime-workspace"]
}
]
}
Run Code Online (Sandbox Code Playgroud)
特别是我排除_doc,_release等从项目。它们似乎被排除在外,因为它们没有出现在侧栏中。但是,当我进行搜索时,ST 也会在这些文件夹中进行搜索并返回各种不相关的结果。
例如,如果我进行此搜索:

我得到这样的结果,即使文件在 _doc 文件夹中,该文件夹已被排除:

知道如何避免这种情况吗?
我经常使用绑定挂载来帮助在多个位置提供可用空间,而不必拥有多个逻辑卷/物理分区/LUN 等。
例如,我可能有一个 200G LV 安装在/space. 从那里,我将创建子目录 like var_optand var_log,然后我可以将 mount分别绑定到/var/opt和/var/log。
在“空间”目录上进行清理时,是否可以从正在运行的内部排除目录?rm -rf/space
例子:
# pwd
/space
# rm -rf * {except-for-var_opt-and-var_log}
Run Code Online (Sandbox Code Playgroud)
是否有不同或更好(但同样简单)的方法来完成我没有想到的我正在尝试做的事情?
我希望对目录及其子目录中的所有文件进行 tar 压缩,这些文件不以 .jpg、.bmp、.gif 或 png 结尾。
因此,给定以下文件夹和文件:
foo/file.txt
foo/file.gif
foo/bar/file
foo/bar/image.jpg
Run Code Online (Sandbox Code Playgroud)
我只想压缩文件file.txt和file。file.gif 和 image.jpg 应该被忽略。我还想维护文件夹结构。
我的第一个想法是将 find 命令的结果与 grep -v ".jpg|.gif|.bmp.png" 一起通过管道传输到文本文件,然后使用 tar 包含参数将文件列表提供给它。
但是,grepped find 命令的结果也包含目录(在上面的示例中,它将是“foo”和“foo/bar”),并且当一个目录被提供给 tar 时,它包括该目录中的所有文件,所以我最终会得到一个包含所有文件的 tar 文件——这不是我想要的。
有什么办法可以防止 find 输出目录吗?有没有更简单的方法来解决这个问题?
rsync我正在尝试使用排除文件设置OS X 10.8.4。但是,它无法识别我想要排除的路径。
我想将用户ABC的主目录复制到Backup_Mac已安装的外部驱动器上调用的文件夹中。
rsync -av --progress --exclude-from='/Users/ABC/excludelist.txt' /Users/ABC /Volumes/Backup_Mac\nRun Code Online (Sandbox Code Playgroud)\n\nexcludelist.txt包含
- /Users/ABC/Dropbox/\nRun Code Online (Sandbox Code Playgroud)\n\n它并不排除 Dropbox 文件夹。
\n\n现在,如果我将排除文件更改为
\n\n- Dropbox/\nRun Code Online (Sandbox Code Playgroud)\n\n它ABC/Dropbox不包括文件树中其他位置名为 Dropbox 的所有其他文件夹。这不是我想要的 \xe2\x80\x93 我只想排除该文件夹ABC/Dropbox,但包含名为 的任何其他文件夹Dropbox,例如ABC/Application Support/Dropbox。
关于如何实现这一目标有任何提示吗?如何指定相对于备份文件夹或相对于根目录的排除路径?
\n在比较 git repo 克隆时,我对 .git 文件夹的外观及其在目录比较选项卡中的内容感到恼火。
在工具 -> 过滤器...对话框中,列表中有Exclude Source Control过滤器FileFilters。检查此文件,.git文件夹中有一行:
def: include
d: \\\.git$ ## Git directory
Run Code Online (Sandbox Code Playgroud)
为什么.git我的比较中仍然会出现文件夹差异?
全部
我的 linux 机器中有以下两个文件,我想找出包含“word1”但不包含“word99”的文件
file1.txt
word1
word2
word3
word4
word5
file2.txt
word1
word2
word3
word99
Run Code Online (Sandbox Code Playgroud)
我一直在对包括“word1”在内的文件使用以下命令,但找不到有关如何修改它以获取包含“word1”但不包含“word99”的文件名的任何信息
find . -name '*.*' -exec grep -r 'word1' {} \; -print > output.txt
Run Code Online (Sandbox Code Playgroud)
任何指针都会有所帮助。
谢谢桑迪
我试图用来XCOPY复制一个看起来像这样的目录:
-MainFolder
-ManyFoldersIWantToCopy
-ManyFoldersIWantToCopy
-...
-Source Code
Run Code Online (Sandbox Code Playgroud)
我想使用该/EXCLUDE选项复制除Source Code.
我尝试使用以下方法,但我没有任何运气:
xcopy "Source" "Destination" /EXCLUDE:"\Source Code\" /E /C /R /I /K /Y
我收到的错误消息说:Can't read file: "\Source Code\"。
我试过一起删除双引号,使用单引号代替,带/不带\,但我收到相同的错误消息。
有任何想法吗?
我至少有 40 个存档文件,每个 100 MB,其中还包含许多.jpg文件。
如何.jpg轻松地从这些档案中删除文件?
更确切地说,我正在寻找一种直接从存档文件中删除所有这些字段的方法,而无需提取它(存档的提取不是一个选项,因为存档是以一种我无法完成的方式完成的重复)
我想创建一个文件夹的 tar 文件,但该文件夹包含一些 tar.gz 文件,如 abc.tar.gz、pqr.tar.gz 我不想包含这些文件,那么如何在制作 tar 时排除这些文件
我发现单个排除扩展名
grep --exclude "*.js" "a" *
Run Code Online (Sandbox Code Playgroud)
如何编写多个排除掩码?
我已经尝试了下面的代码,但它不起作用:
grep -r --exclude=*.\{html,htm,js} "li" *
grep -R -E '(\.js|rb)' "create" *
Run Code Online (Sandbox Code Playgroud) 我编写了一个简单的 shell 脚本,用于ncftpput将本地目录中的所有目录递归上传到远程目录。我的 shell 脚本upload.sh放在这个本地目录中,我想从上传中排除它。有没有办法做到这一点?
ncftpput -R -v -u myUsername -p myPassword myAddress /remoteDir /localDir/*
Run Code Online (Sandbox Code Playgroud)
我试过这样做:
for i in `ls /localDir | grep -v upload.sh`; do
ncftpput -R -v -u myUsername -p myPassword myAddress /remoteDir /localDir/$i
done
Run Code Online (Sandbox Code Playgroud)
但是带有空格的目录将被视为两个目录。例如,将考虑“我的目录”: