Почему SED не заменит шаблоны перекрытия

У меня есть файл разгрузки базы данных с полем, разделенным с помощью символа . Я запускаю этот файл через SED, чтобы заменить любые происшествия с \ N . Это так, чтобы когда файл загружен в mysql \ n, интерпретируемый как null.

Sed Command 'S / \ T \ T / \ t \ n \ t / g; Почти работает, за исключением того, что он только заменяет первый экземпляр E.g. «... ...» становится «... \ N ...».

Если я использую «S / \ T \ t / \ t \ n \ t / g; s / \ t \ t / \ t \ n \ t / g; Он заменяет больше экземпляров.

У меня есть понятие, что, несмотря на модификатор / г модификатора, это что-то связано с концом одного матча, являющегося началом другого.

Может ли кто-нибудь объяснить, что происходит и предложит команду SED, которая будет работать или мне нужно, чтобы цикл.

Я знаю, что я мог бы перейти на awk, Perl, Python, но я хочу знать, что происходит в САД.

6
задан hairyone 14 September 2011 в 18:23
поделиться