检查数组中是否存在确切的单词

时间:2013-11-21 19:14:41

标签: bash

我有一个日志数组,如下所示:

/home/user/
/home/user/xpto.txt
/home/user/bestmovieevah.avi

每一行都是数组中的一个位置。

现在我想给一个输入,这是一个文件的名称,我想检查文件是否存在于日志中,但我想要确切的单词,例如,如果输入是“bestmovieevah.avi”脚本应该说文件存在,如果输入是例如“电影”或文件夹应该说该文件不存在。

任何提示? 我尝试使用grep并找到并且无法获得解决方案。

编辑:我想最好的方法是比较2个字符串,看看子字符串(文件名)是否是字符串的最后一个元素(数组的行)。关于这个的任何提示?

2 个答案:

答案 0 :(得分:1)

使用fgrep -w

fgrep -w "bestmovieevah.avi" log.txt

答案 1 :(得分:1)

尝试以下

if [ $(echo "$log" | sed 's:.*/::' | grep "^$input\$") ]; then
  echo 'File exists in a log'
fi

其中$log是日志数组,$input是输入文件名