Portál AbcLinuxu, 9. května 2025 21:03
var="0000000001 dlouhý text" # potřebuji získat "1" var="000008 dlouhý text" # potřebuji získat "8" var="01108 dlouhý text" # potřebuji získat "1108"Děkuju za pomoc.
v="00001 ssa qwe"; v=${v%% *}; echo $((v))
1
Takhle to neprojde hned na druhém příkladu (a na třetím také ne). Je potřeba explicitně určit základ:
v="000008 dlouhý text"; echo $[10#${v%% *}]
echo $var | sed -r 's/^[0]+([0-9]+).*/\1/'
#!/bin/bash var="0000000001 dlouhý text" python3 -c "print(int('$var'.split(' ')[0]))"
#!/bin/bash var="0000000001 dlouhý text" perl -pe\$_=int<<<$var
var=$(echo "0009 dfs sd" | awk '{print $0+0}')
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.