我有一个遍历目录的脚本,并且每个文件都计算某个单词的迭代次数。运行脚本时,每个文件的迭代次数将输出到屏幕。但是,我想先对列表进行排序,然后再输出。
我知道我需要输出以在某个地方进行排序,但是我不确定如何实现这一点。在非脚本语言中,我可能会将循环的输出放入数组中,但是我不认为这是使用Bash要做的事情。
for f in /home/reviews_folder/*
do
tr -s ' ' '\n' < $f | grep - c '<Author>'
done
我认为我不会将排序放入循环中,那么如何在循环和排序之间建立管道?
答案 0 :(得分:1)
循环是一个复合命令,循环主体中的每个命令都从循环继承其标准输出。这意味着您可以简单地将循环本身传递到sort
。
for f in /home/reviews_folder/*; do
tr -s ' ' '\n' < "$f" | grep -c '<Author>'
done | sort