Unix找到两个文件的意思

时间:2016-02-24 12:59:09

标签: linux bash shell unix

我有一个名为reviews_folder的文件夹,其中包含很多文件,例如hotel_188976.dat或hotel_234566.dat。 我正在尝试编写一个使用grep -c的脚本来查找每个酒店_ * .dat有多少次“整体”,但我只想在reviews_folder中为两个文件执行此操作。

我目前在我的脚本中有这个名为script1.sh

#!/bin/bash
grep -c "Overall" reviews_folder/hotel_*.dat

但这适用于reviews_folder中的所有文件,我只希望它用于两个特定文件 例如,当我输入这个来打击时:

./script1.sh hotel_1 hotel_2

我希望script1能够在hotel_1和hotel_2中找到“整体”的数量。

script1.sh和reviews_folder在同一个文件夹中,但在reviews_folder中有很多hotel _ *。dat文件。

是否可以帮助我完成当前的script1.sh

3 个答案:

答案 0 :(得分:0)

。如何

#!/bin/bash
cat $1 $2|grep -c "Overall"

cat将这两个文件连接到stdout上的一个单独的流中,可以用于grepping。

应该使用两个命名文件作为参数调用

答案 1 :(得分:0)

您可以执行以下操作:

#!/bin/bash
grep -c "Overall" "$1".dat "$2".dat

答案 2 :(得分:0)

您可以使用此脚本支持任意数量的调用参数:

#!/斌/庆典

for i in "$@"; do
  grep "Overall" reviews_folder/"$i".dat
done