ls grep 过滤文件的大小
时间: 2023-08-31 16:15:22 浏览: 50
可以使用 `ls` 命令结合 `grep` 命令来过滤文件的大小。
例如,如果要查找当前目录下大小大于 1MB 的文件,可以使用以下命令:
```
ls -lh | grep -E '\d+M'
```
这个命令会列出当前目录下的文件,并使用 `-lh` 参数将文件大小以更易读的方式显示。然后使用 `grep` 命令过滤出文件大小大于 1MB 的文件,其中 `\d+M` 表示匹配一个或多个数字并跟随一个大写字母 M,即匹配大小为 MB 的文件。
类似地,如果要查找大小小于 100KB 的文件,可以使用以下命令:
```
ls -lh | grep -E '\d+K'
```
其中 `\d+K` 表示匹配一个或多个数字并跟随一个大写字母 K,即匹配大小为 KB 的文件。
相关问题
请利用ls命令和grep命令,找出当前目录下,用户root的文件
可以使用以下命令来找出当前目录下,用户root的文件:
```
ls -l | grep "^-.*\sroot\s" | awk '{print $NF}'
```
解释一下这个命令:
- `ls -l` 显示当前目录下的文件和文件夹,以长格式列出(包括文件权限、所有者、大小等信息)。
- `grep "^-.*\sroot\s"` 从 `ls -l` 的输出中过滤出所有者为 root 的文件。这里使用了正则表达式,`^-` 表示以 `-` 开头,也就是普通文件;`.*` 匹配任意字符,`\sroot\s` 匹配空格后跟着 root 用户名,再跟着一个空格,这样就能过滤出所有者为 root 的文件。
- `awk '{print $NF}'` 从 `grep` 的输出中提取文件名。`awk` 用于对每一行进行处理,`$NF` 表示最后一列,也就是文件名,这里只输出文件名。
这样就能找到当前目录下所有属于 root 用户的文件。
linux查看当前文件夹下所有文件的大小
您可以使用`ls`与`du`命令来查看当前文件夹下所有文件的大小,具体命令为:
```
ls -l | grep "^-" | awk '{sum += $5} END {print sum}'
```
该命令通过`ls -l`命令列出当前文件夹下所有文件的详细信息,然后使用`grep`命令过滤出文件行,最后使用`awk`命令计算文件大小总和。
如果您想查看每个文件的具体大小,可以使用以下命令:
```
du -sh *
```
该命令会列出当前文件夹下所有文件的大小,其中`-s`参数表示只显示总和,`-h`参数表示以易读的方式显示文件大小。