系统日志文件被序列化,我ls -lrt
用来显示最新的文件。我然后cat
那个文件。这需要每次输入一个很长的序列号。
如何在一个命令中cat
出现在我的ls -lrt
输出中的最后一个文件?
我正在使用 cygwin,输出ls -lrt foobar_job*
如下所示:
——
-rw-r--r-- 1 zundarz Domain Users 1133 Jul 31 16:54 foobar_job4855125.log
-rw-r--r-- 1 zundarz Domain Users 1256 Jul 31 17:10 foobar_job4855127.log
-rw-r--r-- 1 zundarz Domain Users 1389 Aug 11 10:20 foobar_job4887829.log
-rw-r--r-- 1 zundarz Domain Users 1228 Aug 11 10:39 foobar_job4887834.log
Run Code Online (Sandbox Code Playgroud)
Ark*_*zyk 14
如果您只想cat
在一个命令中获取最新文件,则您实际上并不需要-l
选项。在Linux
,Cygwin
您可以使用-1
选项并使解析更容易:
$ cat "$(ls -1rt | tail -n1)"
Run Code Online (Sandbox Code Playgroud)
-1
应该非常便携,它在POSIX 中指定。
还要记住,解析ls
输出有其缺点。
编辑:
正如don_crissti在评论中正确指出的那样,您甚至不需要-1
:
$ cat "$(ls -rt | tail -n1)"
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
52187 次 |
最近记录: |