簡體   English   中英

如何將文本添加到重定向到文件的輸出

[英]how to add text to an output redirected to a file

我不知道我的措辭是否正確,但我正在計算文件類型並將結果輸出到文件中,而不是只有數字,我試圖確定每個數字是什么。 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

所以只需在計數前添加沒有換行符的字符串。

: > 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

或者,使用命令替換獲取wc的輸出,然后傳遞給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

注意:在單(或雙)引號內引用用於find*.jpg*參數,以防止參數上的文件名擴展。 find需要帶*的參數,而不是外殼擴展后的文字文件名。

我會用here-doc做什么:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM