Я хотел бы сделать полное переформатирование наших тестов, и я убираю некоторую непоследовательную капитализацию. Я думаю об использовании awk
для этого, так как sed
немного не хватает, и так как мне нужно заглянуть в мой случай. В частности, для каждой строки в данном файле я хочу, чтобы произошло следующее:
Найдите слово
it
,describe
илиcontext
, за которым следует пробел, за которым следует одинарная или двойная кавычка, за которой следует буквенный символ в верхнем регистре.Если есть совпадение, замените совпадение строчной версией всей совпадающей строки, но только совпадающей строкой (не строчные буквы других элементов в той же строке).
Не совпадайте, если строка после одинарной или двойной кавычки имеет значение "GET", "POST", "PUT" или "DELETE".
Так, например:
describe 'apple banana' ----> (no change)
describe 'APPLE BANANA' ----> describe 'aPPLE BANANA'
describe 'Apple Banana' ----> describe 'apple Banana'
describe "Apple Banana" ----> describe "apple Banana"
describe 'one TWO' ----> (no change)
context 'POST BANANA' ----> (no change)
context 'XPOST BANANA' ----> context 'xPOST BANANA'
Какие аргументы awk
и / или другие команды я должен использовать? (Со мной все в порядке, если для этого требуется более одного прохода.)