如何用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(X,Y)
替换为decimal
:
aaa decimal null,
bbb decimal not null,
ccc decimal null,
ddd decimal null,
ff decimal null,
答案 0 :(得分:4)
试试这个:
sed 's/(.*)//' infile.txt
答案 1 :(得分:2)
你可以说:
sed -r 's/(decimal)\([^)]*\)/\1/' filename
为了您的输入,它会产生:
aaa decimal null,
bbb decimal not null,
ccc decimal null,
ddd decimal null,
ff decimal null,
答案 2 :(得分:2)
如果每一行都相等并且包含decimal
,则可以执行以下操作:
awk '$2="decimal"' file
aaa decimal null,
bbb decimal not null,
ccc decimal null,
ddd decimal null,
ff decimal null,
答案 3 :(得分:1)
perl -pi -e 's/decimal\(.*?\)/decimal/g' your_file
答案 4 :(得分:0)
使用awk
awk '/decimal/{gsub(/\(.*\)/,"")}1' file