如何在 unix 中用某些单词对所有文件名进行分类
How to cat all files with filename with certain words in unix
我在一个目录下有一堆文件,我想做的是:
cat a-12-08.json b-12-08_others.json b-12-08-mian.json >> new.json
但是文件太多了,有什么命令可以用来把文件名中带有“12-08”的所有文件都分类吗?
我找到了以下解决方案。
答案如下:
cat *12-08* >> new.json
使用通配符名称:
cat *12-08* >>new.json
只要没有太多文件超过命令行的最大长度ARG_MAX(我检查过的 Linux 系统上为 2MB),这就会起作用。
您可以使用 find
来执行您想要存档的操作:
find . -type f -name '*12-08*' -exec sh -c 'grep "one" {} && cat {} >> /tmp/output.txt' \;
通过这种方式,您可以cat
包含您要查找的单词的文件
我在一个目录下有一堆文件,我想做的是:
cat a-12-08.json b-12-08_others.json b-12-08-mian.json >> new.json
但是文件太多了,有什么命令可以用来把文件名中带有“12-08”的所有文件都分类吗?
我找到了以下解决方案。
答案如下:
cat *12-08* >> new.json
使用通配符名称:
cat *12-08* >>new.json
只要没有太多文件超过命令行的最大长度ARG_MAX(我检查过的 Linux 系统上为 2MB),这就会起作用。
您可以使用 find
来执行您想要存档的操作:
find . -type f -name '*12-08*' -exec sh -c 'grep "one" {} && cat {} >> /tmp/output.txt' \;
通过这种方式,您可以cat
包含您要查找的单词的文件