我将xargs与find结合起来并拥有一堆我想要的文件
find something
A
B
C
现在我在做
find something | xargs cat
我想把Echo放在文件的名称和cat输出之间的一些显示消息。我尝试了-t选项,但它显示了顶部的所有命令。 xargs是去这里的方式吗?如果是这样我该怎么办?
答案 0 :(得分:1)
尝试:
var res = lst.OrderBy(p => p.Desription);
即使对于名称中包含空格,换行符或其他困难字符的文件,这也是安全的。
我们有这些测试文件:
find . -name something -exec echo "File:" {} \; -exec cat {} \;
命令输出如下:
$ cat A
1
2
$ cat B
3
4
$ cat C
5
6
$ find . -name '[ABC]' -exec echo "File:" {} \; -exec cat {} \;
File: ./B
3
4
File: ./C
5
6
File: ./A
1
2
这将使用您喜欢的任何选项启动find命令
find . -name something
对于找到的每个文件,都会打印-exec echo "File:" {} \;
后跟其名称。
File:
这将打印文件的内容。
答案 1 :(得分:1)
使用GNU Parallel看起来像这样:
find something | parallel 'echo {}:; cat {}'
答案 2 :(得分:0)
如果您想要echo
文件名并打印消息,则使用两个命令可能更简单...使用find
获取您想要的文件列表cat
和然后使用while loop
到echo
文件名并打印您的邮件。
find . -type f -name '*.txt' > tmp.txt;
while read f;
do
echo "MY MESSAGE $f";
cat $f;
done < tmp.txt