2016-03-21 12 views
0

ve baskı atama için:Geçme hattı kesip değişkene her ilk isim şöyle (Bash) I okuyabilecek duyuyorum

while read input; 
do 
    echo $input | cut -d ',' -f 1 
done 

ama denemek ve eğer bir değişkene atamak ve öyle değil yazdırmak iş. Sadece üç boş satır çıkarır. (dosyamda sadece üç kayıt var). Diğer yöntemleri denedim ama en son denememi ekledim.

while read input; 
do 
    firstName=$input | cut -d ',' -f 1 
    echo $firstName 
done 

Bu benim kullanıcı listesi neye benzediği:

Jet,Black 
Faye,Valentine 
Radical,Edward 

cevap

0

Şekil dışarı. Bu çözümü daha önce denedim ama $ girişinin önünde ekoyu unuttum.

while read input; 
do 
    firstName=$(echo $input | cut -d ',' -f 1) 
    echo $firstName 
done 
+0

Bence senin bütün 'while' döngü ile değiştirilebilir sadece 'cut -d', '-f 1', herşeyi ihmal ederek. – user1934428

0

Alt kabuk içine koymanız gerekir.

Sen böyle bir şey yapmak mümkün olmalıdır:

firstName = $ ($ girdi echo | 1 -f "" -d kesilmiş)

+0

Evet, yaptığım buydu! Az önce yayınladım –