【发布时间】:2013-11-25 21:53:10
【问题描述】:
我想找出主目录中的目录和文件的数量,并将其存储在 shell 变量中。我正在使用以下一组命令。
command="ls -l | grep -c \"rahul.*patle\""
eval $command
我想将结果存储在一个变量中。我该怎么做?
【问题讨论】:
-
根据您的系统,您最好使用
ls -1(第一)而不是ls -l和grep -cE?
我想找出主目录中的目录和文件的数量,并将其存储在 shell 变量中。我正在使用以下一组命令。
command="ls -l | grep -c \"rahul.*patle\""
eval $command
我想将结果存储在一个变量中。我该怎么做?
【问题讨论】:
ls -1(第一)而不是ls -l 和grep -cE?
将命令输出存储到变量中的语法是var=$(command)。
所以你可以直接这样做:
result=$(ls -l | grep -c "rahul.*patle")
而变量$result 将包含匹配的数量。
【讨论】:
command | tee tmp_file,然后是var=$(< tmp_file)。这将执行命令;使用tee,您可以在终端输出中看到它,它也存储在文件tmp_file 中;然后,您将文件读入$var。
tee 做到了。 result=$(ls -l | tee /dev/tty | grep -c "rahul.*patle")