
linux grep
jde nějak omezit, aby grep vzal pouze první výskyt vzorku NA DANÉ řádce?
a neřešit to pomocí patternu ,ale nějakého switche
(nyní nemyslím volbu -m, která limituje POČet řádků)
echo h1a2a4 \\n\
e3a6b8 | grep -Pi "\d" # nyní označí všechna čísla (\d je číslo), ale já chci jen lichá čísla čísla (1 a 3) ,protože to jsou první matchnuté vzorky na každé řádce
h1a2a4
e3a6b8
cíl
h1a2a4
e3a6b8
-m nelimituje počet řádků, ale počet řádků s výskytem patternu.
Technicky bych to řešil tak, že každý řádek zpracovávat separátně for cyklem (for i in soubor do), následně přes tr nahradíš alfabety newlinem a pak si dáš grep -m \d
Alternativně přes megakanon jménem awk.
Ak chces prve dva znaky z riadku, tak za grepom este pouzi "cut".
taky mě napoprvé napadlo, že by stačilo cutovat 2. znak v každém řádku, ale pak jsem si řekl, že číslice na 2. místě v příkladě je pravděpodobně pouze shoda okolností.