shell脚本中的字符串替换

时间:2014-12-31 07:50:07

标签: linux shell unix

如何使用shell脚本用DOUBLE替换下面的DECIMAL数据类型?

来源字符串:

.
.
GROSS_AMOUNT  DECIMAL(11, 2)
.
.

结果应为:

.
.
GROSS_AMOUNT  DOUBLE
.
.

2 个答案:

答案 0 :(得分:1)

awk 'BEGIN{FS=OFS="  "}$2{$2="DOUBLE"}1'
  • 将字段分隔符和输出字段分隔符设置为两个空格
  • 如果字段2存在,请将其设置为DOUBLE
  • 打印

答案 1 :(得分:0)

从shell脚本中:

#!/bin/bash

str="...GROSS_AMOUNT DECIMAL(11, 2)..."
str=$(sed 's/DECIMAL(.*)/DOUBLE/' <<< $str)
echo $str

这将输出:...GROSS_AMOUNT DOUBLE...

使用sed,将DECIMAL(11, 2)替换为任何内容(在本例中为DOUBLE)。