我想通过模式之间的隐式AND获得多模式匹配,即相当于在一个序列中运行几个 grep:
grep pattern1 | grep pattern2 | ...
Run Code Online (Sandbox Code Playgroud)
那么如何将其转换为类似的东西?
grep pattern1 & pattern2 & pattern3
Run Code Online (Sandbox Code Playgroud)
我想使用单个 grep,因为我正在动态构建参数,因此所有内容都必须放在一个字符串中。使用过滤器是系统特性,而不是 grep,所以它不是它的论据。
不要将此问题与:
grep "pattern1\|pattern2\|..."
Run Code Online (Sandbox Code Playgroud)
这是一个OR多模式匹配。
我发现自己不断地查找语法
find . -name "FILENAME" -exec rm {} \;
Run Code Online (Sandbox Code Playgroud)
主要是因为我不明白这-exec
部分是如何工作的。大括号、反斜杠和分号的含义是什么?该语法还有其他用例吗?
我有一个包含很多子文件夹的大文件夹,我想在其中搜索包含三个单词的文件夹。请注意,文件夹名称需要包含所有三个单词,但单词的顺序无关紧要。
示例:我想查找包含单词APE
,Banana
和 的文件夹Tree
。
find folder -name '*APE*Banana*Tree*'
Run Code Online (Sandbox Code Playgroud)
但是,这个命令会考虑单词的顺序,虽然这并不重要,我想以任何顺序找到包含这些单词的任何文件夹。
假设我有一个包含数千个文件的目录;如何打开名称同时包含字符串“red”和“green”的所有文件?
是否可以ls
通过使用 bash的简单命令实现以下目标。列出所有以两个字母开头、e
名称中有一个、以一个1
或多个字母结尾的文件。如果是这样,命令是什么,是否需要启用扩展通配符?