我有一個無法解決的 Linux 問題。我嘗試解決它 - 我也嘗試搜尋論壇,但沒有找到任何線索 - 或解決它的方法。
問題:
編寫命令來計算 Vegetables 和 Fruits 資料夾中的檔案數量。答案必須保存在 CounterFood 檔案中。允許多個命令。
執行這些命令後,系統會提示您執行以下操作:
必須將 Vegetables 和 Fruits 資料夾中的檔案名稱中的字元總數加入 CounterFood 檔案。可以使用多個命令。
嘗試
我想過進行算術插入 - 但我沒有找到這樣的命令。
ls -l . Vegetables Fruits | egrep -c '^-' >> CounterFood
我試圖計算有多少個文件 - 但我無法將這兩個資料夾一起計算。然後我想出了這個 - 我的想法是訪問資料夾 - 並找到所有文件 - 然後對它們進行計數
find Vegetables Fruits -type f | wc - >>CounterFood
問題的繼續與開頭直接相關。但一開始對我來說並不順利——我不明白為什麼。
答案1
第1部分
find Vegetables Fruits -type f -printf "x" | wc -c > CounterFood # Print "x" for each filename and count them
第2部分
如果你的意思是添加那麼這會起作用
namelen=$(find Vegetables Fruits -type f -printf "%f" | wc -c) # Characters in file names
counterfood=$(cat CounterFood) # Previous total
echo $((namelen + counterfood)) > CounterFood # Add them together
如果你的意思是附加那麼這會起作用
find Vegetables Fruits -type f -printf "%f" | wc -c >> CounterFood # Characters in file names
答案2
兩個資料夾中的檔案總數:
expr `ls -l Vegetables | sed 1d | wc -l` + `ls -l Fruits | sed 1d | wc -l` >> CounterFood
兩個資料夾中檔案名稱的總字元數:
expr `ls Vegetables | wc -c` + `ls Fruits | wc -c` >> CounterFoods
希望這會有所幫助!