在zshell中格式化grep输出

时间:2017-07-30 02:17:44

标签: bash grep formatting output

我试图在下面找出我要问的问题,请原谅我,因为我相对较新!

我试图让它以[0-9] [0-9] [0-9] [0-9] [0-9] [0-9]的格式给我一个文件夹中的文件名列表[0-9] [0-9] [0-9] [0-9] \;

其中每个文件名都是9位数字,我希望它给我一个可复制的列表,每个文件名后缀为\;

我已经到了;

grep -lr" [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9]"

但我不知道如何按照我想要的方式对其进行格式化。

1 个答案:

答案 0 :(得分:0)

grep -l 'PATTERN'为您提供具有" PATTERN"的文件的名称。在它的内容中。 (grep -r通过进入子目录递归搜索。)

如果您需要具有特定模式的文件名(而不是内容),或者以其他方式使用它,如果您需要过滤掉ls命令的输出,请执行以下操作。

ls -1 | grep '^[0-9]\{9\}$'

但是,如果您需要重新格式化已过滤的输出(在末尾添加分号),则仅grep无法处理此问题。有几种解决方案。以下是sed解决方案。

ls -1 | sed -n 's:^[0-9]\{9\}$:&;:p'