我正在尝试使用以下命令从字符串中提取子字符串:
propertyPath=$(echo $path|awk '{print substr($0,3,$index)}')
但是,该命令不会获取$index
变量的值,因此不会返回有效的子字符串。
答案 0 :(得分:2)
这样可行:
propertyPath=$(echo $path|awk '{print substr($0,3,'$index')}')
或
propertyPath=$(echo $path|awk -v index=$index '{print substr($0,3,index)}')
答案 1 :(得分:1)
propertyPath = $(echo $ path | awk“{print substr(\ $ 0,1,$ index)}”)
答案 2 :(得分:0)
单引号告诉shell不要扩展值,因此你必须在awk命令周围使用双引号。但是,当你这样做时,你必须为你不想提前扩展的变量转义$。