簡體   English   中英

保存 bash 命令的輸出以用於管道命令 (|)

[英]Save output of bash command for use with pipe command (|)

說我有以下問題

  • 計算文件夾中文件名中帶有“a”的文件
  • 重復“e”、“i”和所有其他元音

一種解決方案是:

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的輸出來加快速度,然后將輸出發送到grepwc ,但語法打敗了我。

lsCaptured=$(ls)
FilesWithA=$($lsCaptured | grep a | wc -l) #not working!

用這個 :

#!/bin/bash

captured="$(printf '%s\n' *)"
filesWithA=$(grep -c a <<< "$captured")

注意事項:

暫無
暫無

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

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