如何使用 xargs 将 ls 通过管道传输到 cat 中,以便列出文件名?
how to pipe ls into cat with xargs so that filenames are listed?
对于使用cat
输出特定目录中的*.txt
个文件,如何在每个文件之前插入文件名作为“中断”?
file #1
contents of file
file #2
contents of file
理想情况下是易于记忆的几个 bash
命令。
另见:
Why not pipe list of file names into cat?
改进答案;
而不是单独的 -exec basename
,仅使用 -print
将显示文件名:
find . -type f -print -exec cat {} \;
您可以使用 find
command with multiple -exec
;
find . -type f -iname '*.txt' -exec basename {} \; -exec cat {} \;
-> ls
a.txt b.txt
-> find . -type f -iname '*.txt' -exec basename {} \; -exec cat {} \;
b.txt
b
a.txt
a
@0stone0 回答的另一个选项
您可以使用 tail
而不是 cat:
tail -n +1 *
输出:
==> file-1.txt <==
contents of file
==> file-2.txt <==
contents of file
对于使用cat
输出特定目录中的*.txt
个文件,如何在每个文件之前插入文件名作为“中断”?
file #1
contents of file
file #2
contents of file
理想情况下是易于记忆的几个 bash
命令。
另见:
Why not pipe list of file names into cat?
改进答案;
而不是单独的 -exec basename
,仅使用 -print
将显示文件名:
find . -type f -print -exec cat {} \;
您可以使用 find
command with multiple -exec
;
find . -type f -iname '*.txt' -exec basename {} \; -exec cat {} \;
-> ls
a.txt b.txt
-> find . -type f -iname '*.txt' -exec basename {} \; -exec cat {} \;
b.txt
b
a.txt
a
@0stone0 回答的另一个选项
您可以使用 tail
而不是 cat:
tail -n +1 *
输出:
==> file-1.txt <==
contents of file
==> file-2.txt <==
contents of file