to nie działa. już go użyłem. mówi, że polecenie nie zostało znalezione.
surbhi,
3
@surbhi Co mówi polecenie nie znaleziono polecenia? cutjest standardowym narzędziem. Twój skrypt prawdopodobnie zawiera błąd w innym miejscu. Mówiąc bardziej ogólnie, nigdy nie mów „to nie działa”. Zawsze mów dokładnie, jaki kod uruchomiłeś, dokładnie co się stało, i kopiuj i wklej komunikaty o błędach.
Gilles „SO- przestań być zły”
Ta odpowiedź powinna zostać zaakceptowana, ponieważ jest to najbardziej zwięzły i bezpośredni sposób. Oczywiście nie będzie działać w przypadkach, które są bardziej skomplikowane niż podany przykład.
Dan Nguyen
10
Świetnym sposobem na to jest użycie tablicy bash, aby podzielić ciąg znaków na spacje. Możesz zadeklarować tablicę za pomocą nawiasów:
var="129 148 181"
vars=( $var )
echo "First word of var: '${vars[0]}'"
echo "Second word of var: '${vars[1]}'"
echo "Third word of var: '${vars[2]}'"
echo "Number of words in var: '${#vars[@]}'"
echo "${var% *}" && echo "${var#* }"
...Odpowiedzi:
Oprócz sugestii Jasonwryana możesz użyć
cut
:Powyżej
cut
jestecho
wyjściem z separatorem spacji (-d ' '
) i wyprowadza pierwsze pole (-f1
)źródło
cut
jest standardowym narzędziem. Twój skrypt prawdopodobnie zawiera błąd w innym miejscu. Mówiąc bardziej ogólnie, nigdy nie mów „to nie działa”. Zawsze mów dokładnie, jaki kod uruchomiłeś, dokładnie co się stało, i kopiuj i wklej komunikaty o błędach.Świetnym sposobem na to jest użycie tablicy bash, aby podzielić ciąg znaków na spacje. Możesz zadeklarować tablicę za pomocą nawiasów:
źródło
echo $SHELL
powinien pokazywać:/bin/bash
lub podobny.zsh
; (zoom="one two three"; declare -a zoomie=( $( echo $zoom | cut -d' ' -f1- ) ); echo ${zoomie[2]};