Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 如果要使用grep命令,当find命令没有问题时,如何编写命令?_Linux_Unix - Fatal编程技术网

Linux 如果要使用grep命令,当find命令没有问题时,如何编写命令?

Linux 如果要使用grep命令,当find命令没有问题时,如何编写命令?,linux,unix,Linux,Unix,我的OS简介老师希望我输入一个命令,该命令长列/etc目录,并查找所有修改或创建的大小为4096字节的文件 我的答案就是find/etc-size 4k-ls 我应该如何使用grep命令来执行此操作?这似乎是毫无意义的…这毫无意义,但在其中,你会习惯于看似疯狂的需求,因此这里有一个: $ ls -l /etc | grep "^-\([^ ]* *\)\{4\}4096 " -rw-r--r-- 1 root root 4096 Oct 27 2014 wget

我的OS简介老师希望我输入一个命令,该命令长列/etc目录,并查找所有修改或创建的大小为4096字节的文件

我的答案就是
find/etc-size 4k-ls


我应该如何使用grep命令来执行此操作?这似乎是毫无意义的…

这毫无意义,但在其中,你会习惯于看似疯狂的需求,因此这里有一个:

$ ls -l /etc | grep "^-\([^ ]* *\)\{4\}4096 "
-rw-r--r--  1 root     root            4096 Oct 27  2014 wgetrc
  • ^-
    这是一个文件(
    ^d
    用于目录等)
  • [^]**
    字段和分隔空间
  • \(…\)\{4\}
    是前面的四倍,即文件大小在第五个字段中
  • 4096
    文件大小。请注意尾部的空格将大小精确限制为4096

可能是
ls-l/etc|grep…
,但我更喜欢您的命令。这对于
grep
来说非常棘手,因为如果您只使用
grep4096
,它将匹配行中的任何位置,因此它将在名称中包含
4096
的文件。但我怀疑你们的老师不在乎这种不太可能的匹配。欢迎来到Stack Overflow!编程问题也是如此,而不是关于使用或配置Linux的问题。请尝试SuperUser.com或unix.stackexchange.com。