Удалить все до двойной кавычки

Я пытаюсь очистить CSV-файл, в котором есть столбец с таким содержимым:

Sometexthere1", "code"=>"47.51-2-01"}]

И я хотел бы удалить все до первой кавычки ("), чтобы сохранить только это:

Sometexthere1

Я знаю, что могу использовать $`, чтобы получить все до некоторого совпадения в регулярном выражении, но я не понимаю, как сохранить только строку перед первой двойной кавычкой.

2 ответа

Решение

Вы, вероятно, имеете в виду "удалить все после двойной кавычки"? В Open Refine вы можете использовать эту формулу GREL:

value.replace(/".+/, "")


> Result : Sometexthere1

Расширение параметров делает это достаточно хорошо:

# Define a variable
s='Sometexthere1", "code"=>"47.51-2-01"}]'

# expand it, removing the longest possible match (from the end) for '"'*
result=${s%%'"'*}

# demonstrate that result by printing it
printf '%s\n' "$result"

... правильно возвращается Sometexthere1,

Другие вопросы по тегам