2011-04-17 127 views
0

我正在查找使用grep在/ usr/bin中搜索具有2个链接的所有文件并按升序对其进行排序的命令。grep命令查找文件

我要找必须使用的第一个和显示器只包含了“X”的文件

感谢您

+0

你的问题是什么? – 2011-04-17 22:07:01

+1

“按升序排序” - 按升序排序?通过参考数量?或通过修改日期?或按名称? – Beel 2011-04-17 22:13:45

回答

1

这将做

find /usr/bin -links 2 -print0 | xargs -0 ls -adltr 

修改LS做你需要包含的 “X”

find /usr/bin -links 2 -print0 | xargs -0 grep -l "x" 

文件排序:)


如果您的意思是: '包含X' 为“是可执行文件(X出现在ls -l命令输出),可使用

find /usr/bin -links 2 -executable -print0 | ls -adltr 

要看到的只是显示目录:

find /usr/bin -links 2 -type d -executable -print0 | ls -adltr 

仅查看文件:

find /usr/bin -links 2 -type f -executable -print0 | ls -adltr 

注:目录获得默认2个链接(.是一个链接),所以你可能要寻找-links 3使用目录

+0

添加发现不可预知的文件的预感;我不太确定什么_'“x”'_将意味着:) – sehe 2011-04-17 23:03:00

+0

对我有趣的结果:perlbug :) – 2011-04-17 23:27:57

+0

@user unk:硬链接到/ usr/bin/perlthanks对我:) – sehe 2011-04-18 00:01:40

2

你可以从这个grep的直接,如:

grep -r --include=*.py "HOSTS" . 

将搜索递归( '-r')中的所有Python文件的当前目录(”。 ')下(' *。 py')为字符串“HOSTS”。