使用文件名作为参数

时间:2018-01-24 07:48:49

标签: bash shell unix grep sh

我正在处理shell脚本。

OUT=$1

这里,OUT变量是我的文件名。

我使用grep搜索如下:

    l=`grep "$pattern " -A 15  $OUT | grep -w $i | awk '{print $8}'|tail -1 | tr '\n' ','`

问题是我必须传递的文件名参数是 test.log 。但是,我有文件夹结构:

   test.log
   test.log.001
   test.log.002

我希望将文件名作为 test.log 传递,并希望在所有日志文件中搜索它。我知道通常的方法是使用test.log.*命令行,但我很难在shell脚本中复制相同的内容。

我的努力:

    var-$'.*'
    l=`grep "$pattern " -A 15  $OUT$var | grep -w $i | awk '{print $8}'|tail -1 | tr '\n' ','`

然而,我没有得到理想的结果。

1 个答案:

答案 0 :(得分:0)

希望这会让你更接近:

#!/bin/bash
for f in "${1}*"; do
   grep "$pattern" -A15 "$f"
done | grep -w $i | awk 'END{print $8}'