我想使用 sed 编辑器更改文本



如何用 Linux shell 替换文本 ( sedawk , ...)

输入:

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

最新更新