shell脚本:如何在变量中剪切行

shell脚本:如何在变量中剪切行,shell,awk,cut,Shell,Awk,Cut,我不熟悉shell脚本。我试着在网上搜索,但我找不到我想要的东西-我如何剪切变量以获得我想要的值 例如,我有: Result=`awk -F : -v "Title=" -v "Author=" 'tolower() == tolower(Title) && tolower() == tolower(Author)' BookDB.txt` //which will return: //Result= Black:Hat:12.30:20:30 我尝试过这样做,但不起作用: P

我不熟悉shell脚本。我试着在网上搜索,但我找不到我想要的东西-我如何剪切变量以获得我想要的值

例如,我有:

Result=`awk -F : -v "Title=" -v "Author=" 'tolower() == tolower(Title) && tolower() == tolower(Author)' BookDB.txt`
//which will return:
//Result= Black:Hat:12.30:20:30
我尝试过这样做,但不起作用:

PRICE= cut -d ":" -f 3 $Result
任何帮助都将不胜感激,谢谢

使用awk怎么样

input="Black:Hat:12.30:20:30"
first=$(echo input | awk -F":" '{print $1}')
echo $first
second=$(echo $input | awk -F":" '{print $2}')
echo $second
date=$(echo $input | awk -F":" '{print $3 ":" $4 ":" $5}')
echo $date

您可能需要进行编辑以符合您的确切要求。

您的代码没有错。。。嗯,至少大部分是这样

执行
echo'Result=Black:Hat:12.30:20:30'| cut-d:“-f3
将给出结果
12.30

问题是您可能希望在shell脚本上使用它。 要做到这一点,请尝试以下操作:
PRICE=`cut-d:'-f3$Result`

我所做的基本上是在要存储在变量中的表达式前后放置
`

参考以了解更多信息:


祝你好运

避免使用旧的和过时的后台技巧,使用括号:
second=$(echo$input | awk-F):“{print$2}”