在bash

时间:2017-11-10 16:20:09

标签: bash search

我有一个string=word1:word2:word3:word4:word5,我想搜索一个单词,但只能在字段4(word4)中搜索。 我的意思是如果我用grep" word4"并且string=word4:word3:word1:word2未显示此行,只应显示string=a:b:c:word4:d

2 个答案:

答案 0 :(得分:0)

试试这个:

echo *"$string"* | awk -F : '{ print $4 }' | grep -i "word4"

答案 1 :(得分:0)

string=word1:word2:word3:word4:word5
IFS=: read -r w1 w2 w3 w4 w5 _ <<<"$string"
if [[ $w4 = *"word4"* ]]; then
  echo "Match!"
fi

参考文献:

  • BashFAQ #1 - “如何逐行(和/或逐字段)读取文件(数据流,变量)?”