理解命令

0 command-line

我不明白我使用的代码如下

find . -type f -size 1033c ! -executable -exec file {} + | grep ASCII
Run Code Online (Sandbox Code Playgroud)

我理解了关于类型和大小的第一部分,但是我在哪里可以完全理解 grep 命令,以及后面的内容是什么!它代表什么我很感激任何关于从哪里开始的信息我真的对这类事情充满热情我有很多耐心和时间任何帮助将不胜感激提前谢谢

Jos*_*Jos 5

find命令查找并列出具有指定属性的文件或文件夹。在这种情况下,它们需要是一个文件 ( -type f),大小正好是 1033 字节,而不是一个可执行文件(!意味着not)。

对于这些文件中的每一个,执行 after-exec命令。在此命令中,{}代表文件名。您可以为每个文件运行该命令。但是,在这种情况下,+指示将从文件名构建一个命令。因此,如果find命令产生mytext1.txt,mytext2.txtmytext3.txt,则结果命令将是

file mytext1.txt mytext2.txt mytext3.txt | grep ASCII
Run Code Online (Sandbox Code Playgroud)

file命令决定了文件的文件类型,是文本文件,还是二进制文件,还是可执行文件等等,所以每一个的类型都是确定的,grep命令只返回包含ASCII的行。

请参阅man find,man fileman grep了解此 oneliner 中每个命令的说明。