САС заменить все, что не в кавычках - PullRequest
2 голосов
/ 05 ноября 2010

У меня есть повторяющийся список этого текста, и «testestewst» уникален для каждого элемента в списке:

testestetet *testest = [testeeste qtestest:@"I need this text"];
[testesteste:@"I need this text"];
[stesteset atestestest];

Как в мире я могу заменить SED, чтобы удалить все, крометекст мне нужен?

Ответы [ 3 ]

3 голосов
/ 05 ноября 2010
sed 's/.*"\(.*\)".*/\1/g' < test > result

работает, по крайней мере, если у вас только один из таких элементов в строке ... (замените 'test' и 'result' именами входных и выходных файлов.

EDIT :

sed 's/^[^"]*$//g' < test | sed 's/.*"\(.*\)".*/\1/g' > result

Заменяет все строки без кавычек новыми строками ...

1 голос
/ 05 ноября 2010

Если я понимаю, о чем вы спрашиваете, это должно сработать ... У меня возникли проблемы с возвратом цитируемого текста только в строках, содержащих @.Если ваша цель может быть достигнута простым извлечением цитируемого текста, возможно, это будет проще.

$ cat > t1.sed
/@/{
s/[^"]*@"//
s/".*//
p
}
d
$ sed -f t1.sed t1.dat
I need this text
I need this text
$
0 голосов
/ 05 ноября 2010
sed -n '/"/!{/\n/{P;b}};s/"/\n/g;D' inputfile

Пример:

$ cat inputfile
aaa bbb "this is" eee
fff "what I" hhh
111 "want"
"to see"
222 333
"today" zzz
$ sed -n '/"/!{/\n/{P;b}};s/"/\n/g;D' inputfile
this is
what I
want
to see
today
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...