我有一个简单的 egrep 命令,它在当前目录中的所有文件中搜索包含单词“error”的行:
egrep -i "error" *
该命令也将通过子目录。以下是整个文件夹的示例:
/Logfile_20120630_030000_ID1.log
/Logfile_20120630_030001_ID2.log
/Logfile_20120630_030005_ID3.log
/subfolder/Logfile_20120630_031000_Errors_A3.log
/subfolder/Logfile_20120630_031001_Errors_A3.log
/subfolder/Logfile_20120630_031002_Errors_A3.log
/subfolder/Logfile_20120630_031003_Errors_A3.log
顶层目录的日志文件包含“错误”行。但是“子文件夹”目录中的日志文件不包含带有“错误”的行。(仅在文件名中)
所以我遇到的问题是 egrep 命令似乎正在查看“子文件夹”中的信息。我的结果得到了一大块似乎是二进制块的内容,然后是顶部文件夹日志文件中包含“错误”一词的文本行。
如果我删除了“子文件夹”下的所有文件,但没有删除文件夹本身,我会得到完全相同的结果。
那么Unix是否将文件历史信息保存在文件夹中?
问题已通过运行得到纠正: find 。-类型 f | egrep -i "错误" *
但我仍然不明白为什么这是一个问题。我在 SunOS 上运行 C-shell。