ls 文件, grep 获取文件的大小字段
时间: 2023-12-14 08:39:54 浏览: 20
要显示文件的大小字段,您可以使用 `ls` 命令与 `grep` 命令进行配合,具体操作如下:
```
ls -l | grep "^-" | awk '{print $5}'
```
这个命令会使用 `ls -l` 显示文件列表,并将结果传递给 `grep`,在结果中筛选出普通文件(以 `-` 开头),最后使用 `awk` 仅输出每行的第五个字段,即文件大小。
相关问题
shell 精准匹配字段
如果你想在 Shell 中精准匹配一个字段,可以使用等于号(=)进行匹配。例如,如果你想匹配一个名字为 "Alice" 的文件,可以使用以下命令:
```
ls -l | grep '^.*Alice$'
```
这个命令会列出当前目录下以 "Alice" 结尾的所有文件。其中,"^" 表示行首,"$" 表示行尾,这样可以确保只有完全匹配的行被选中。
ls -l ./*.log |grep "5月"|tr -s " " " " |cut -d " " -f 9|xargs rm -rf
这是一个 Linux 命令行操作,它的作用是删除当前目录下所有文件名后缀为 `.log` 且文件名中包含字符串 "5月" 的文件。具体解释如下:
1. `ls -l ./*.log`:列出当前目录下所有后缀为 `.log` 的文件,并显示详细信息,包括文件名、大小、修改时间等。
2. `grep "5月"`:在前一步的结果中,筛选出文件名中包含字符串 "5月" 的行。
3. `tr -s " " " "`:将连续多个空格替换成一个空格,这样可以把筛选结果中的空格统一成一个。
4. `cut -d " " -f 9`:按照空格分隔符,取出每行的第9个字段,即文件名。
5. `xargs rm -rf`:把前面筛选出来的文件名作为参数,传递给 `rm -rf` 命令,删除这些文件。
需要注意的是,这个命令比较危险,如果不小心把其他文件名中包含 "5月" 的文件也删除了,可能会造成不可恢复的损失。建议在执行这个命令之前,先确认一下筛选结果是否正确,可以把 `xargs rm -rf` 替换成 `xargs echo`,先查看一下将要删除哪些文件,再确认无误后再执行删除操作。