我希望包含长格式(ls -l
)的文件列表,包括日期和时间,包含特定字符串,如果可能,还包含出现次数。
我所取得的成就是一个包含出现次数的文件列表(只是名称):
grep -c 'string' * | grep -v :0
显示如下内容:
filename
:number of occurrences
但我无法改进它以显示文件日期和时间。它必须是简单的东西,但我有点新手。
答案 0 :(得分:1)
我使用-s
来忽略文件夹警告。 ':0$'
是ending in :0
的正则表达式。 awk
然后仅在找到的文件名上调用ls -l
,然后| tr '\n' ' '
用空格替换ls
命令的换行符。我们输出每行末尾的出现次数,这样我们就不会在前进时丢失信息。最后一个awk
只是打印所需的列。
grep -c 'form-group' * -s | grep -v ':0$' | awk -F ':' '{ printf system( "ls -l \"" $2 "\" | tr \"\n\" \" \"" ); print " " $3 }' | awk -F ' ' '{ print $6 " " $7 " " $8 " " $9 " : " $11 }'
以下是一些示例输出:
Sep 1 13:47 xxx.blade.php : 12
Sep 1 13:47 xxx.blade.php : 5
Sep 1 13:47 xxx.blade.php : 6
Sep 11 17:25 xxx.blade.php : 4
Sep 4 15:03 xxx.blade.php : 6