查找包含 2 个字符的文件名,然后查找其中包含数字的文件名

Finding file names that contains 2 characters and then finding which of those has a number in it

我有一个任务,我需要找到每个包含 2 个字符的 /usr/bin 文件。我这样做是通过使用:ls /usr/bin |grep -x .. 然后我得到:

7z ar as at bc cc dc du ex hg id ld m4 nc nl nm od pg pr sg tr ul vi wc xz.

现在我需要 select 这些文件名中的哪些包含数字,我该怎么做?

我不能使用 find 命令,因为任务严格要求我使用 grep 甚至 awk。感谢您提前提供帮助。

从您的方法开始,您可以将 grep 的输出通过管道传输到第二个 grep,它只选择至少有一个数字的行:

 ls /usr/bin |grep -x ..|grep `[0-9]`

当然你的方法已经有点缺陷了,如果你在 /usr/bin 中发生(作为例子)一个包含换行符的文件,这将不会被正确处理,因为 grep 将输入视为一组行....