[英]Save output of bash command for use with pipe command (|)
說我有以下問題
一種解決方案是:
FilesWithA=$(ls | grep a | wc -l)
FilesWithE=$(ls | grep e | wc -l)
FilesWithI=$(ls | grep i | wc -l)
FilesWithO=$(ls | grep o | wc -l)
FilesWithU=$(ls | grep u | wc -l)
這工作正常,但該文件夾包含數千個文件。 我希望通過在變量中捕獲ls
的輸出來加快速度,然后將輸出發送到grep
和wc
,但語法打敗了我。
lsCaptured=$(ls)
FilesWithA=$($lsCaptured | grep a | wc -l) #not working!
用這個 :
#!/bin/bash
captured="$(printf '%s\n' *)"
filesWithA=$(grep -c a <<< "$captured")
<<<
是這里的字符串ls
輸出
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.