Shell xargs和find的用法

Shell xargs和find的用法,shell,find,xargs,Shell,Find,Xargs,我有以下问题。我想打印几个文件的内容。 每个文件位于不同的目录中,并且具有相同的名称 /home/User1/data.txt /home/User2/data.txt /home/User3/data.txt 每个文件都包含一个字符串。我希望实现以下输出: User1 string_from_data.txt User2 string_from_data.txt User3 string_from_data.txt 我尝试使用以下方法: find . -iname "data.txt" |

我有以下问题。我想打印几个文件的内容。 每个文件位于不同的目录中,并且具有相同的名称

/home/User1/data.txt
/home/User2/data.txt
/home/User3/data.txt
每个文件都包含一个字符串。我希望实现以下输出:

User1 string_from_data.txt
User2 string_from_data.txt
User3 string_from_data.txt
我尝试使用以下方法:

find . -iname "data.txt" | xargs cat
但它只返回每个data.txt的内容

string_from_data.txt
string_from_data.txt
string_from_data.txt
如何正确书写

find . -iname "file*" -exec sh -c 'dirname $1 | xargs basename; cat $1' _ {} \;