como usar o grep para extrair o conteúdo de uma string com vários (") a partir da primeira aspas dupla para a segunda

1

Eu tenho essa string <activity android:label="@string/app_name" android:launchMode="singleTask" android:name=".MainActivity" android:theme="@style/AppTheme" android:windowSoftInputMode="adjustPan">

e estou tentando extrair apenas esse .MainActivity dessa string

eu usei

grep -o -P '(?<=android:name=").*(?=")' output.txt

mas extrai .MainActivity" android:theme="@style/AppTheme" android:windowSoftInputMode="adjustPan

Existe alguma maneira de extrair apenas da primeira aspas duplas para a próxima, não para a última?

    
por Yassine Fathi 06.08.2016 / 10:13

1 resposta

2

Você deve usar uma correspondência não gulosa adicionando um "?" depois da estrela.

grep -o -P '(?<=android:name=").*?(?=")'
    
por 06.08.2016 / 10:17