相关疑难解决方法(0)

使用grep --exclude/ - include语法不要浏览某些文件

我正在寻找foo=目录树中的文本文件中的字符串.它在一台普通的Linux机器上,我有bash shell:

grep -ircl "foo=" *
Run Code Online (Sandbox Code Playgroud)

在目录中还有许多匹配"foo ="的二进制文件.由于这些结果不相关并且减慢了搜索速度,我希望grep跳过搜索这些文件(主要是JPEG和PNG图像).我该怎么办?

我知道有--exclude=PATTERN--include=PATTERN选项,但模式格式是什么?grep的手册页说:

--include=PATTERN     Recurse in directories only searching file matching PATTERN.
--exclude=PATTERN     Recurse in directories skip file matching PATTERN.
Run Code Online (Sandbox Code Playgroud)

搜索grep include,grep include exclude,grep exclude和variants没有找到任何相关内容

如果有一种更好的方法只在某些文件中进行grepping,我就是全力以赴; 移动违规文件不是一种选择.我不能只搜索某些目录(目录结构很乱,随处可见).另外,我无法安装任何东西,所以我必须使用常用工具(如grep或建议的查找).

unix shell search command-line grep

757
推荐指数
12
解决办法
61万
查看次数

在unix/linux shell中进行模式匹配时,如何使用反向或负向通配符?

假设我想复制目录的内容,不包括名称中包含"音乐"一词的文件和文件夹.

cp [exclude-matches] *Music* /target_directory
Run Code Online (Sandbox Code Playgroud)

什么应该代替[exclude-matches]来实现这个目标?

bash shell glob pattern-matching

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

Git别名与位置参数

基本上我想尝试别名:

git files 9fa3
Run Code Online (Sandbox Code Playgroud)

...执行命令:

git diff --name-status 9fa3^ 9fa3
Run Code Online (Sandbox Code Playgroud)

但是git似乎没有将位置参数传递给alias命令.我试过了:

[alias]
    files = "!git diff --name-status $1^ $1"
    files = "!git diff --name-status {1}^ {1}"
Run Code Online (Sandbox Code Playgroud)

......以及其他一些但不起作用.

退化的情况是:

$ git echo_reverse_these_params a b c d e
e d c b a
Run Code Online (Sandbox Code Playgroud)

......我怎么能做这个工作?

git parameters alias command position

244
推荐指数
7
解决办法
5万
查看次数

想要从"git diff"中排除文件

我试图db/irrelevant.php从Git diff中排除一个文件().我试图把在一个文件db名为的子目录.gitattributes与行irrelevant.php -diff ,我也尝试创建一个名为.git/info/attributes包含db/irrelevant.php.

在所有情况下,该db/irrelevant.php文件都作为Git二进制补丁包含在diff中.我想要的是diff命令忽略对该文件的更改.我究竟做错了什么?

git diff git-diff

202
推荐指数
9
解决办法
7万
查看次数

扩展Git功能

我想知道是否有一种简单的方法来扩展Git命令.

所以我可以创建如下命令:

git my-custom-made-extension --my-options <my-other-arguments>
Run Code Online (Sandbox Code Playgroud)

在一个完美的世界里,我可以用它喜欢的任何语言来完成它,并且我能够相当容易地将我定制的扩展添加到任何开发环境中.

比方说,像Vim 插件的支持?

git

21
推荐指数
2
解决办法
5368
查看次数