使用SHELL在文本文件中查找字符串和后续字符

时间:2016-02-17 02:20:06

标签: string shell sed scripting

我有一个以下格式的文本文件:

Value1=some string-1
Value2=some string-2
Value3=some string-3
Value4=some string-4
Value5=some string-5
Value6=some string-6

如果我需要找到Value6的值并打印出some string-6,我将如何在SHELL脚本中执行该操作?

if grep -qs "Value6" Test.txt
then
  print some string-6
fi

我如何在此处打印some string-6

1 个答案:

答案 0 :(得分:0)

简单方法是使用grepsed。例如:

grep Value6 file | sed -e 's/^.*[=]//'

示例输入

$ cat tmpf
Value1=some string-1
Value2=some string-2
Value3=some string-3
Value4=some string-4
Value5=some string-5
Value6=some string-6

使用/输出

$ grep Value6 tmpf | sed -e 's/^Value6[=]//'
some string-6

注意,您也可以在一次通话中执行此操作:

$ sed -n 's/^Value6[=]//p' < tmpf
some string-6

无论使用哪种方法,将结果字符串保存到变量,都可以使用命令替换

myvar=$(sed -n 's/^Value6[=]//p' < tmpf)

或较旧(现在使用较少)的反引号变体

myvar=`sed -n 's/^Value6[=]//p' < tmpf`