У меня относительно большой файл данных в формате csv / text (33 МБ), который мне нужен для глобального поиска и замены символа-разделителя. (Причина в том, что, похоже, нет способа заставить SQLServer экранировать / обрабатывать двойные кавычки в данных во время экспорта таблицы, но это другая история ...)
Я успешно выполнил поиск Textmate и заменил его на файл меньшего размера, но он захлебнулся этим большим файлом.
Кажется, что командная строка grep может быть ответом, но я не совсем понимаю синтаксис, ала:
grep -rl OLDSTRING . | xargs perl -pi~ -e ‘s/OLDSTRING/NEWSTRING/’
Так что в моем случае я ищу символ '^' (символ вставки) и заменяю его символом "" (двойная кавычка).
grep -rl " grep_test.txt | xargs perl -pi~ -e 's/"/^'
Это не работает, и я предполагаю, что это связано с выходом из двойной кавычки или чего-то еще, но я довольно потерян. Кому-нибудь помочь?
(Полагаю, если кто-нибудь знает, как заставить SQLServer2005 обрабатывать двойные кавычки в текстовом столбце во время экспорта в csv, это действительно решило бы проблему ядра).