2010-09-03 2 views

ответ

4

следующие работы независимо от того, является ли \n конец строки или обратный косая черта и буква «п»:

sed 's/\[.*] //' $file 

картина выглядит для открытой квадратной скобки следует любой последовательность символов до последнюю закрытую квадратную скобку и следующее пространство (если их несколько). Вы можете усовершенствовать «.*» в «[^]]*», чтобы соответствовать всему, что близко к квадратной скобке; это удаляет только первую квадратную скобку.

2

/[^\[]*/ получает от вас большую часть пути. Если после [...] ничего не появляется, то этого достаточно.

+0

Ор может понадобиться, чтобы добавить место на одном конце или th'other этого регулярного выражения, если пространства интересны. –

+0

Можете ли вы объяснить, что еще вы собираетесь делать с этим RE? Он соответствует шаблону «ничего, кроме обратной косой черты или открытой квадратной скобки», поэтому у вас есть некоторая работа, чтобы использовать его в замене, не так ли? –

1

вы можете использовать AWK

$ more file 
text [dont want text here ] text text [ dont want text] \n 
text text text [ dont want text] \n 

$ awk -vRS=']' '/\[/{gsub(/\[.*/,"")}1' ORS="" file 
text text text \n 
text text text \n 
Смежные вопросы