[英]Linux command to replace text in a file with text from redirected output
[英]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.