我试图在下面找出我要问的问题,请原谅我,因为我相对较新!
我试图让它以[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]"
但我不知道如何按照我想要的方式对其进行格式化。
答案 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'