ack.pl 工具和 ack.pl 标志 + 如何忽略文件类型
ack.pl tool and ack.pl flags + how to ignore type of files
我正在使用 ack.pl 工具来搜索文件中的字符串或 IP
ack.pl 的官方网站是 - http://beyondgrep.com/documentation/
ack.pl CLI 示例(想要在 /etc 下的文件中找到字符串 STRING_TO_FIND)
/tmp/ack.pl -Q -a -l --max-count=1 STRING_TO_FIND /etc
但有时 ack.pl 卡在文件上,如:
---S--l--- 1 root root 0 Mar 10 04:25 /opt/POP_lock
来自 MAN 页面 "S" attr 的意思是:
使用大写 "S" 而不是小写 "s" 告诉文件系统立即将文件写入磁盘,而不是将其存储在缓冲区中。 (另请注意,这次我们保留了 "s" 属性,因此我们现在为此文件设置了两个属性。)
所以我的问题是:
如何ack.pl忽略带“S”的文件,
或者应该用“S”忽略这个文件的 ack.pl 标志是什么?
ack
(更正式和最新的版本 here)不检查文件权限,也不能对其进行过滤。那么 find+ack
或 find+grep
习语呢?
find /etc -not -perm /o+S -type f -exec grep -l STRING_TO_FIND {} \;
(未测试)
我正在使用 ack.pl 工具来搜索文件中的字符串或 IP
ack.pl 的官方网站是 - http://beyondgrep.com/documentation/
ack.pl CLI 示例(想要在 /etc 下的文件中找到字符串 STRING_TO_FIND)
/tmp/ack.pl -Q -a -l --max-count=1 STRING_TO_FIND /etc
但有时 ack.pl 卡在文件上,如:
---S--l--- 1 root root 0 Mar 10 04:25 /opt/POP_lock
来自 MAN 页面 "S" attr 的意思是:
使用大写 "S" 而不是小写 "s" 告诉文件系统立即将文件写入磁盘,而不是将其存储在缓冲区中。 (另请注意,这次我们保留了 "s" 属性,因此我们现在为此文件设置了两个属性。)
所以我的问题是:
如何ack.pl忽略带“S”的文件, 或者应该用“S”忽略这个文件的 ack.pl 标志是什么?
ack
(更正式和最新的版本 here)不检查文件权限,也不能对其进行过滤。那么 find+ack
或 find+grep
习语呢?
find /etc -not -perm /o+S -type f -exec grep -l STRING_TO_FIND {} \;
(未测试)