Eu assumo que o arquivo segue o mesmo padrão. Se for esse o caso, você pode ter um comando como abaixo.
grep -o ' path=.*$' file.txt | cut -c8- |rev | cut -c 4- | rev
Então, eu abro o arquivo usando cat
e depois eu extraio apenas os caracteres de path=
e depois removo os caracteres indesejados usando cut
e então uso a técnica rev
para remover caracteres indesejados do fim.
Outra abordagem do awk
awk -F'path="' '{print $2}' file.txt |rev | cut -c 4- | rev
Eu uso o path="
como delimitador e imprimo todas as informações depois dele. E o rev
basicamente faz o mesmo que acima.
Teste
cat file.txt
<classpathentry kind="src" path="Sources"/>
<classpathentry kind="con" path="WOFramework/ERExtensions"/>
<classpathentry kind="con" path="WOFramework/ERJars"/>
<classpathentry kind="con" path="WOFramework/ERPrototypes"/>
<classpathentry kind="con" path="WOFramework/JavaEOAccess"/>
<classpathentry kind="con" path="WOFramework/JavaEOControl"/>
<classpathentry kind="con" path="WOFramework/JavaFoundation"/>
<classpathentry kind="con" path="WOFramework/JavaJDBCAdaptor"/>
Depois de executar o comando,
Sources
WOFramework/ERExtensions
WOFramework/ERJars
WOFramework/ERPrototypes
WOFramework/JavaEOAccess
WOFramework/JavaEOControl
WOFramework/JavaFoundation
WOFramework/JavaJDBCAdaptor
Uma abordagem melhor como fornecida por Stephane nos comentários.
cut -d '"' -f4 file.txt