У меня есть файл python, в котором есть много двойных скобок, как это, и я хотел бы заменить его на одну скобку.
Иногда печать продолжается на 2 строки или более.
print(('>> # some text some text some text and '
+ 'some more text'))
print(('>> # some text some text some text and '
+ 'some more text'))
print(('>> # some text some text some text and '
+ 'some more text'))
print(('>> # some text some text some text and '
+ 'some more text'))
print((something))
print((something))
print((something))
print((something))
print((something))
print((something))
Я пробовал много разных способов подойти к этому. Я думаю, что проще всего было бы с sed. У меня есть что-то вроде этого:
grep -rl 'print((' test.txt | xargs sed -i "N;s/print((\(.*\)))/print(\1)/g"
Вывод выглядит так:
print('>> # some text some text some text and '
+ 'some more text')
print('>> # some text some text some text and '
+ 'some more text')
print(('>> # some text some text some text and '
+ 'some more text'))
print(('>> # some text some text some text and '
+ 'some more text'))
print(something)
print(something)
print(something)
print(something)
print(something)
print(something)
Теперь с некоторыми строками это работает, а с некоторыми - нет, я думаю, это из-за N; но мне нужно это в случае, если это несколько строк ..
Что я могу сделать, чтобы улучшить этот шаблон?