Bash 如何使用find命令递归打印带有标题的文本

Bash 如何使用find命令递归打印带有标题的文本,bash,Bash,我使用了一个find命令,它通过执行以下操作来输出包含给定字符串的文件列表 find /dir -name cat 我可以通过在末尾添加-exec cat{}来打印内容 然而,我希望能够在每个文件之前添加一个标题来分隔它们,即 *****路径/文件***** 所以它会打印出来 *****dir/cat.txt***** some text *****dir/cat2.txt***** some text 有办法做到这一点吗? 另外,如果我只想显示单个文件的内容,这是通过find命令获得的,即

我使用了一个find命令,它通过执行以下操作来输出包含给定字符串的文件列表

find /dir -name cat
我可以通过在末尾添加-exec cat{}来打印内容

然而,我希望能够在每个文件之前添加一个标题来分隔它们,即

*****路径/文件***** 所以它会打印出来

*****dir/cat.txt*****
some text
*****dir/cat2.txt*****
some text
有办法做到这一点吗? 另外,如果我只想显示单个文件的内容,这是通过find命令获得的,即

find [path] -name [string] | head -1
添加-exec cat是不可能的。 我该怎么做


谢谢

查找命令可以获取多个
-exec
参数,并将为每个文件运行每个参数

因此,您可以使用:

find-名称\*.txt-exec echo“******{}*******”-执行类{}\

关于你问题的第二部分:


find-名称\*.txt-exec echo“******{}*******”-执行类{}\-退出

查找
命令可以获取多个
-exec
参数,并将为每个文件运行每个参数

因此,您可以使用:

find-名称\*.txt-exec echo“******{}*******”-执行类{}\

关于你问题的第二部分:

find-名称\*.txt-exec echo“******{}*******”-执行类{}\-退出