在Bash中显示命令结果和行结果数

Poz*_*nux 1 bash awk

我使用一个命令,显示几行结果.我想看到结果,然后显示结果的行数.

今天我做:

my-command XXX    # to display the result  
echo "Number :" $(my-command XXX | wc -l)    # to display the number of lines
Run Code Online (Sandbox Code Playgroud)

但是如果我想改变命令,我必须改变它两次.是否有更好的方法来获得相同的结果?

anu*_*ava 5

您可以使用awk代替:

awk '1; END{print NR}' <(command XXX)
Run Code Online (Sandbox Code Playgroud)
  • 1 (默认awk动作)将打印每行命令的输出.
  • END{print NR}将在最后的输出中打印#行command.

  • 这里不需要进程替换; 我只想写'命令XXX | awk'1; 结束{print NR}'`.不过很好. (4认同)