首页 > 解决方案 > 如何将文本添加到重定向到文件的输出

问题描述

我不知道我的措辞是否正确,但我正在计算文件类型并将结果输出到文件中,而不仅仅是数字,我试图识别每个数字是什么。Sooo基本上现在我有:

$ find . -type f -iname *.jpg* | wc -l > Test.md
$ find . -type f -iname *.png* | wc -l >> Test.md
$ find . -type f -iname *.tiff* | wc -l >> Test.md

当我 cat Test.md 我得到:

$ cat Test.md
13
10
8

我想做的是:

JPG: 13
PNG: 10
TIFF: 8

标签: linux

解决方案


因此,只需在计数之前添加不带换行符的字符串。

: > Test.md       # truncate the file
echo -n "JPG: " >> Test.md
find . -type f -iname '*.jpg*' | wc -l >> Test.md
echo -n "PNG: " >> Test.md
find . -type f -iname '*.png*' | wc -l >> Test.md
echo -n "TIFF: " >> Test.md
find . -type f -iname '*.tiff*' | wc -l >> Test.md

或类似,获取wcwith 命令替换的输出,并传递给echo进行一些格式化:

echo "JPG: $(find . -type f -iname '*.jpg*' | wc -l)" > Test.md
echo "PNG: $(find . -type f -iname '*.png*' | wc -l)" >> Test.md
echo "TIFF: $(find . -type f -iname '*.tiff*' | wc -l)" >> Test.md

注意:*.jpg*find内部单(或双)引号引用参数以防止参数上的文件名扩展。在 shell 扩展之后find需要带有 的参数,而不是文字文件名。*


推荐阅读