我正在使用 Debian 8.0,例如想查找包含 1 个以上.mkv文件的目录。我试过这个,但失败了:
find -type d -exec find {} -name '*.mkv' | wc -l\;
Run Code Online (Sandbox Code Playgroud)
SuperUser 上有一个类似的问答,我无法适应。这对我也不起作用:
find . -maxdepth 1 -type d -exec bash -c "echo -ne '{} '; find '{}' -name '*.mkv' | wc -l" \; | awk '$NF>=2'
Run Code Online (Sandbox Code Playgroud)
错误消息指向一个语法错误:
bash: -c: line 0: syntax error near unexpected token `('
Run Code Online (Sandbox Code Playgroud)
这样做的原因是目录的名称是这样的:
Directory With Space and (Brackets)
Run Code Online (Sandbox Code Playgroud) 我想比较两个文件并忽略一个文件中存在但另一个文件中缺失的行。
例如
文件1:
foo
bar
baz
bat
Run Code Online (Sandbox Code Playgroud)
文件2:
foo
ball
bat
Run Code Online (Sandbox Code Playgroud)
我当前正在运行以下 diff 命令
diff File1 File2 --changed-group-format='%>' --unchanged-group-format=''
Run Code Online (Sandbox Code Playgroud)
在这种情况下会产生
bar
baz
Run Code Online (Sandbox Code Playgroud)
作为输出,即仅缺少或冲突的行。我只想打印冲突的行,即忽略 File2 中缺少一行而 File1 中存在一行的情况(而不是相反)。有什么方法可以使用 diff 来做这样的事情还是我必须求助于其他工具?如果是这样,你会推荐什么?