BASH:如何在命令后的同一行中添加文本

时间:2017-11-09 17:55:19

标签: linux bash

我必须在我的目录中打印文件夹数量,所以我使用 ls -l $1| grep "^d" | wc -l 之后,我想在同一行添加一个文本。 任何想法?

2 个答案:

答案 0 :(得分:1)

将结果分配给变量,然后在与目录名相同的行上打印变量。

folders=$(ls -l "$1" | grep "^d" | wc -l)
printf "%s %d\n" "$1" "$folders"

另外,请记住引用您的变量,否则当文件名包含空格时,您的脚本将无效。

答案 1 :(得分:1)

如果您不想使用变量来保存输出,可以使用echo并将命令放在该回显线上的$()中。

echo $(ls -l $1| grep "^d" | wc -l ) more text to follow here