Linux 我想用sed编辑器更改文本
如何将文本替换为Linux shell(Linux 我想用sed编辑器更改文本,linux,shell,sed,awk,Linux,Shell,Sed,Awk,如何将文本替换为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 dec
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 -r 's/(decimal)\([^)]*\)/\1/' filename
对于您的输入,它将产生:
aaa decimal null,
bbb decimal not null,
ccc decimal null,
ddd decimal null,
ff decimal null,
试试这个:
sed 's/(.*)//' infile.txt
如果每一行都相等并且包含
十进制
,则可以执行以下操作:
awk '$2="decimal"' file
aaa decimal null,
bbb decimal not null,
ccc decimal null,
ddd decimal null,
ff decimal null,
使用awk
awk '/decimal/{gsub(/\(.*\)/,"")}1' file
您的答案正在运行,但输入字符(10)、输出字符(我只想删除/替换十进制(x,y))sed's/decimal([^)]*)/decimal/'infle.txt您假定所有行的格式都相同。那么“aaa(4,3)十进制(5,6)空,
awk '/decimal/{gsub(/\(.*\)/,"")}1' file