У меня есть набор данных, который выглядит следующим образом:
1099511629352|Nunez|Jorge|female|17/11/2000|2011-04-04T05:54:52.693+0000|201.221.59.59|Opera|Facebook
Разделитель столбцов в этом случае - |
-> Я хочу заменить N-й столбец ($pos
), учитывая идентификатор одной строки, используя sed.
Вот что я придумала сейчас:
Найти N-е совпадение регулярного выражения [$columnsep]*[a-zA-Z0-9./\-:+]+
строки, начинающейся с данного $id
- Заменить этот случай на
$columnsep$editvalue
Таким образом, соответствующая команда sed будет:
sed "/^$id/[$columnsep]*[a-zA-Z0-9./\-:+]+/$columnsep$editvalue/$pos}" $file
Я получаю [a- ...": invalid command code [
, хотя он работает с онлайн-тестерами регулярных выражений, такими как https://regexr.com/