ini tidak bekerja. saya sudah menggunakannya. katanya perintah tidak ditemukan.
surbhi
3
@urbi Apa kata perintah tidak ditemukan? cutadalah utilitas standar. Skrip Anda mungkin memiliki kesalahan di tempat lain. Secara umum, jangan pernah mengatakan "itu tidak berfungsi". Selalu katakan persis kode apa yang Anda jalankan, apa yang terjadi, dan salin dan tempel pesan kesalahan.
Gilles 'SANGAT berhenti menjadi jahat'
Jawaban ini harus diterima, karena itu cara yang paling ringkas dan langsung. Tentu saja itu tidak akan berfungsi dalam kasus yang lebih rumit daripada contoh yang diberikan.
Dan Nguyen
10
Cara yang rapi untuk melakukan ini adalah dengan menggunakan bash array untuk membagi string pada spasi. Anda dapat mendeklarasikan sebuah array hanya dengan menggunakan tanda kurung:
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[@]}'"
Itu tergantung pada Anda menggunakan bash. Jika Anda menggunakan shell yang berbeda, shell itu mungkin tidak berfungsi. echo $SHELLharus menunjukkan: /bin/bashatau serupa.
gogoud
tidak berfungsi zsh; (
TonyH
Ini berfungsi di ZSHzoom="one two three"; declare -a zoomie=( $( echo $zoom | cut -d' ' -f1- ) ); echo ${zoomie[2]};
echo "${var% *}" && echo "${var#* }"
...Jawaban:
Selain saran jasonwryan , Anda dapat menggunakan
cut
:Di atas
cut
adalahecho
output dengan pembatas ruang (-d ' '
) dan menampilkan bidang pertama (-f1
)sumber
cut
adalah utilitas standar. Skrip Anda mungkin memiliki kesalahan di tempat lain. Secara umum, jangan pernah mengatakan "itu tidak berfungsi". Selalu katakan persis kode apa yang Anda jalankan, apa yang terjadi, dan salin dan tempel pesan kesalahan.Cara yang rapi untuk melakukan ini adalah dengan menggunakan bash array untuk membagi string pada spasi. Anda dapat mendeklarasikan sebuah array hanya dengan menggunakan tanda kurung:
sumber
echo $SHELL
harus menunjukkan:/bin/bash
atau serupa.zsh
; (zoom="one two three"; declare -a zoomie=( $( echo $zoom | cut -d' ' -f1- ) ); echo ${zoomie[2]};