У меня есть такая строка:
first: val1 second: 6/Hi/how//I///, 5/Hi/how//you///, 8/Hi/how//she/// third: special
Я хочу только второе поле. Во втором поле мне нужно все после second:
. Используя этот код, я могу достичь своей цели:
awk -F '\t' '/second:/ { split($2, a, / /); print a[2] }'
Теперь у меня есть это:
6/Hi/how//I///, 5/Hi/how//you///, 8/Hi/how//she///
Теперь я хочу заменить /Hi/how//
на /
, поэтому мой ожидаемый вывод выглядит так:
first: val1 second: 6/I///, 5/you///, 8/she/// third: special
Я изменил свой код на это:
awk -F '\t' '/second:/ { split($2, a, / /); gsub(//Hi/how///,"/",a[2]; print a[2] }'
но я сталкиваюсь с этой ошибкой:
awk: cmd. line:1: (FILENAME=- FNR=4) fatal division by zero attempted
awk: cmd. line:1: (FILENAME=- FNR=4) fatal division by zero attempted
awk: cmd. line:1: (FILENAME=- FNR=4) fatal division by zero attempted
Что не так?