GNU/Linux >> Znalost Linux >  >> Linux

Extrahovat text mezi dva konkrétní řádky?

Jak mohu dostat část výstupu příkazu mezi dva konkrétní řádky? Umělý příklad:

Příkaz:

git for-each-ref --sort='*authordate' --format='%(tag)' refs/tags | grep -v '^$'

Výstup:

0.1.0
0.2.0
1.0.0
1.0.1
1.0.2
1.1.0
1.2.0
1.2.1
1.3.0
1.4.0
1.4.1

Chci získat část tohoto výstupu mezi dva konkrétní řádky (nezaložené na čísle řádku, na obsahu):

0.1.0
0.2.0
1.0.0
1.0.1
1.0.2

Přijatá odpověď:

Výstup můžete převést do awk :

$ ... | awk '/0\.1\.0/,/1\.0\.2/'
0.1.0
0.2.0
1.0.0
1.0.1
1.0.2

Linux
  1. Jak extrahovat soubory Tar do konkrétního nebo jiného adresáře v Linuxu

  2. Jak spojit dva textové soubory v Linuxu

  3. Tisknout čáry mezi (a vyjma) dvěma vzory?

  1. Extrahovat hodnotu mezi dvěma vyhledávacími vzory na stejném řádku?

  2. Jak vytvořit obousměrné potrubí mezi dvěma programy?

  3. Společné řádky mezi dvěma soubory?

  1. Najděte a nahraďte text v souboru mezi rozsahy řádků pomocí sed

  2. Efektivně odstraňte poslední dva řádky extrémně velkého textového souboru

  3. Jak extrahovat text z velkého souboru počínaje prvním výskytem řetězce?