文本操作 (ls,grep,head,cut)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文本操作 (ls,grep,head,cut)相关的知识,希望对你有一定的参考价值。

需求

从一个目录中取出最近访问过的5个普通文件,并且要求输出文件名和最后的访问时间

解决方案

通过ls -t和-u根据文件的访问时间进行排序,用|grep过滤出普通文件,在用head过滤出文件列表的前五行,最后用cut剪切无关的数据,只保留访问时间和文件名

[[email protected] proc]# ls -lut |grep "^-" |head -5 |cut -c41-

运行结果

[[email protected] proc]# ls -lut |grep "^-" |head -5 |cut -c41-
    0 Mar 21 10:44 buddyinfo
    0 Mar 21 10:44 cgroups
    0 Mar 21 10:44 cmdline
    0 Mar 21 10:44 consoles
    0 Mar 21 10:44 cpuinfo

讨论

  • ls -t 根据文件的修改时间进行排序
  • ls -u可以显示出文件的最后访问时间,并让-t基于访问时间来排序
  • ^-是一个正则表达式,以横杠开头,这里表示普通文件
  • cut -c 指定了cut命令保留并输出那些字符
  • 下面是通过横杠-指定范围,还可以使用逗号,指定范围
范围 描述
N 第N个字符
N- 从第N个字符一直到当前行结束
N-M 从第N个字符一直到第M个字符
-M 从第一个字符一直到第M个字符

以上是关于文本操作 (ls,grep,head,cut)的主要内容,如果未能解决你的问题,请参考以下文章