Portál AbcLinuxu, 9. května 2025 19:42
i="ahoj"
- a jak by se udelalo to, aby pri vypsani teto promenne vzniklo ahoj
nebo ahoj2
nebo ahoj234
. Zkrátka aby k tomu řezězci při jeho vypsání bylo přilepeno i libovolné číslo o libovolné délce?
Zkouším to nějak takhle, ale zatím nic moc:
echo ${i}`{[0-9]*}`
Díky za rady!
Řešení dotazu:
echo $i$RANDOM
ahoj 1 N SER A143 11.783 -14.353 25.532 1.00 30.81 N
ahoj 2 N SER A144 11.783 -14.353 25.532 1.00 30.81 N
ahoj 3 N SER Azzz 11.783 -14.353 25.532 1.00 30.81 N
ahoj 4 N SER A14e6 11.783 -14.353 25.532 1.00 30.81 N
...
Takhle by to nešlo:
i="A"
cat soubor | awk '$1 == "ahoj" && $5 == "'"$i$RANDOM"'" {print $0}' >> vysledek.txt
Chtělo by to místo $RANDOM
tam dát nějaký RE, něco ve smyslu [0-9]*...zkouším, zkouším a zatím bez výsledku. Poradí někdo tohle? Díky
awk '$1 == "ahoj" && $5 ~ /^A[0-9]+$/'
A
bych potřeboval dát do proměnné, já ho v cyklech budu měnit. Šlo by to tedy i nějak takhle?
awk '$1 == "ahoj" && $5 ~ /^$i[0-9]+$/'
Trošku mě tam straší ten dolar v RE, nebude to brát jakoby až do konce řádku? Já bych chtěl vždy jen do konce řetezce (, který je vždy v tom pátém sloupci).
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.