Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 我想用sed编辑器更改文本_Linux_Shell_Sed_Awk - Fatal编程技术网

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

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

如何将文本替换为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 -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