У меня есть регулярное выражение, которое я успешно протестировал на http://regexpal.com/:
^(\".+?\"),\d.+?,"X",-99,-99,-99,-99,-99,-99,-99,(\d*),(\d*)
Где мои тестовые данные выглядят так:
"AB101AA",10,"X",-99,-99,-99,-99,-99,-99,-99,394251,806376,179,"S00","SN9","00","QA","MH","X"
"AB101AF",10,"X",-99,-99,-99,-99,-99,-99,-99,394181,806429,179,"S00","SN9","00","QA","MH","X"
"AB101AG",10,"X",-99,-99,-99,-99,-99,-99,-99,394251,806376,179,"S00","SN9","00","QA","MH","X"
"AB101AH",10,"X",-99,-99,-99,-99,-99,-99,-99,394371,806359,179,"S00","SN9","00","QA","MH","X"
"AB101AJ",10,"X",-99,-99,-99,-99,-99,-99,-99,394171,806398,179,"S00","SN9","00","QA","MH","X"
"AB101AL",10,"X",-99,-99,-99,-99,-99,-99,-99,394331,806530,179,"S00","SN9","00","QA","MH","X"
Я хочу заменить его на \1,\2,\3
в каждой строке, поэтому, например, строка 1 выдаст
"AB101AA",394251,806376
Как я могу запустить поиск и замену регулярных выражений по всем файлам csv в моей папке в osx? Я пытался использовать sed, но он жалуется на синтаксическую ошибку (плюс я не уверен, что он будет поддерживать это регулярное выражение?). Кроме того, будут ли якоря ^ (начало строки) и $ (конец строки) работать построчно или они будут совпадать с началом и концом файла?
ОБНОВЛЕНИЕ: Некоторые хорошие ответы с cut, awk ect, которые получают определенные поля из csv, но я недавно узнал, что мне нужно взять числа из этого списка и разделить их на 2 под-значения, так что мой пример выводит из выше должно выглядеть примерно так:
"AB101AA",3,94251,8,06376
Насколько я знаю, для этого мне нужно использовать регулярное выражение.