如何用 Linux shell 替换文本 ( sed
, awk
, ...)
输入:
aaa decimal(6,3) null,
bbb decimal(12,3) not null,
ccc decimal(1,11) null,
ddd decimal(2,10) null,
ff decimal(10,1) null,
我想用decimal
替换decimal(X,Y)
:
aaa decimal null,
bbb decimal not null,
ccc decimal null,
ddd decimal null,
ff decimal null,
试试这个:
sed 's/(.*)//' infile.txt
你可以
说:
sed -r 's/(decimal)([^)]*)/1/' filename
对于您的输入,它将产生:
aaa decimal null,
bbb decimal not null,
ccc decimal null,
ddd decimal null,
ff decimal null,
如果每行都相等并且包含decimal
则可以执行以下操作:
awk '$2="decimal"' file
aaa decimal null,
bbb decimal not null,
ccc decimal null,
ddd decimal null,
ff decimal null,
perl -pi -e 's/decimal(.*?)/decimal/g' your_file
使用 awk
awk '/decimal/{gsub(/(.*)/,"")}1' file