Bash 找出每行的第一个数字,做一些算术运算并替换它
我有几百行这样的句子:Bash 找出每行的第一个数字,做一些算术运算并替换它,bash,awk,sed,Bash,Awk,Sed,我有几百行这样的句子: 在表1中插入值(55661979,'Montag','06:00','19:00',1,'ON',NULL 我需要在第一个号码5566上再加一个号码,比如说50,每行加一个。 使用sed或awk获取第一个数字的方法有很多,但如何执行算术并替换数字? 有什么提示吗?您可以使用此awk: s='INSERT INTO table1 VALUES (5566, 1979, 'Montag', '06:00', '19:00', 1, 'ON', NULL' echo "$s"|
在表1中插入值(55661979,'Montag','06:00','19:00',1,'ON',NULL
我需要在第一个号码
5566
上再加一个号码,比如说50
,每行加一个。使用sed或awk获取第一个数字的方法有很多,但如何执行算术并替换数字?
有什么提示吗?您可以使用此awk:
s='INSERT INTO table1 VALUES (5566, 1979, 'Montag', '06:00', '19:00', 1, 'ON', NULL'
echo "$s"|awk '{sub(/[^0-9]+/, "", $5); $5+=50; $5="(" $5 ","} 1'
INSERT INTO table1 VALUES (5616, 1979, Montag, 06:00, 19:00, 1, ON, NULL
5566实际上不是该行上的第一个数字。(第一个数字是1,如
表1
中所示)您能提供一个更精确的描述,说明您需要更改的数字以及其他可能的行吗?