我有数百条像这样的线:
INSERT INTO table1 VALUES (5566, 1979, 'Montag', '06:00', '19:00', 1, 'ON', NULL
我需要在第一个数字5566
添加另一个数字,比如50
,并在每行中添加。
有多种方法可以使用sed或awk获取第一个数字但是如何执行算术并替换数字?
任何提示?
答案 0 :(得分:2)
你可以使用这个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