Dělám svn status --show-updates a pak chci buď
- O1:
ignorovat (nezobrazovat) řádky, které začínají? - Q2:
zobrazí pouze řádky, které začínají*Všimněte si, že před výskytem * je několik mezer. To znamená, že*není první znak na řádku.
Jak to mohu udělat?
Přijatá odpověď:
Tyto podmínky můžete vyjádřit pomocí regulárních výrazů a použít grep filtrovat výsledky na základě nich.
První je ^? . Karát je speciální znak, který představuje začátek řádku; takže výraz odpovídá začátku řádku, za kterým bezprostředně následuje ? .
Druhý je ^ *\* . * je speciální znak, který kvalifikuje předchozí znak – to znamená, že předchozí znak se může objevit nula nebo vícekrát. Od * je speciální znak, ten, který hledáte, musí být escapován, proto \* . Tento výraz tedy bude odpovídat začátku řádku, za kterým bude následovat nula nebo více mezer a za nimi hvězdička.
Pro první podmínku použijte -v možnost pro grep negovat výsledky.
Takže konečně,
svn status --show-updates | grep -v '^?'
nebo
svn status --show-updates | grep '^ *\*'
Regulární výrazy jsou velmi výkonné, takže je může používat mnoho unixových nástrojů. Velmi stojí za to se je naučit. Na regular-expressions.info je skvělý návod.