shell 脚本:如何在变量中剪切行
shell scripting: how to cut line in variable
我是 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 }')
echo $first
second=$(echo $input | awk -F":" '{print }')
echo $second
date=$(echo $input | awk -F":" '{print ":" ":" }')
echo $date
您可能需要进行编辑以满足您的具体要求。
你的代码没有错...好吧,至少是大部分!
执行 echo 'Result= Black:Hat:12.30:20:30' | cut -d ":" -f 3
将得到结果 12.30
。
问题是您可能想在 shell 脚本中使用它。
为此,只需尝试以下操作:
PRICE=`cut -d ":" -f 3 $Result`
我所做的基本上是在要存储在变量中的表达式前后放置 `
。
参考了解更多:http://www.freeos.com/guides/lsst/ch02sec08.html
祝你好运!
我是 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 }')
echo $first
second=$(echo $input | awk -F":" '{print }')
echo $second
date=$(echo $input | awk -F":" '{print ":" ":" }')
echo $date
您可能需要进行编辑以满足您的具体要求。
你的代码没有错...好吧,至少是大部分!
执行 echo 'Result= Black:Hat:12.30:20:30' | cut -d ":" -f 3
将得到结果 12.30
。
问题是您可能想在 shell 脚本中使用它。
为此,只需尝试以下操作:
PRICE=`cut -d ":" -f 3 $Result`
我所做的基本上是在要存储在变量中的表达式前后放置 `
。
参考了解更多:http://www.freeos.com/guides/lsst/ch02sec08.html
祝你好运!