让grep按时间顺序搜索多个文件
我有一个目录,里面有很多这样的文件让grep按时间顺序搜索多个文件,grep,Grep,我有一个目录,里面有很多这样的文件 grep -i 'stg_data.li51_cicmpdtap0521' $(ls -ltr sequencer_cmbcs_seq_debug.log*) | less 如果我使用grep搜索这些文件中的字符串,那么它将按照以下顺序进行搜索:文件log.0,然后是log.1 但我要grep按时间顺序搜索, 那我就喜欢这个, grep -i 'stg_data.li51_cicmpdtap0521' $(ls -ltr sequencer_cmbcs_
grep -i 'stg_data.li51_cicmpdtap0521'
$(ls -ltr sequencer_cmbcs_seq_debug.log*) | less
如果我使用grep搜索这些文件中的字符串,那么它将按照以下顺序进行搜索:文件log.0,然后是log.1
但我要grep按时间顺序搜索,
那我就喜欢这个,
grep -i 'stg_data.li51_cicmpdtap0521'
$(ls -ltr sequencer_cmbcs_seq_debug.log*) | less
但是我得到了这个错误
grep:invalid option -- -
在我换了这个之后,它成功了
grep -i 'stg_data.li51_cicmpdtap0521' $(ls -tr
sequencer_cmbcs_seq_debug.log*) | less
为什么ls-ltr不工作,而ls-tr工作?这里有-l和没有-l有什么区别?ls-ltr不起作用的原因是grep试图使用返回目录列表的整个长输出。本质上,这等同于以下内容:
-rw-rw-rw- 1 user staff 473 May 24 18:14 file
grep -i 'string' -rw-rw-rw- 1 user staff 473 May 24 18:14 file | less
这将为您提供如下grep命令:
-rw-rw-rw- 1 user staff 473 May 24 18:14 file
grep -i 'string' -rw-rw-rw- 1 user staff 473 May 24 18:14 file | less
注意第一列示例1中的破折号;grep无法解释输入文件的组成,并返回无效选项。当您更改ls命令以删除-l long输出时,您现在只有文件名,grep就可以继续了