2016-03-21 10 views
0

私はそうのように、すべての最初の名前を読み、印刷することができる午前:渡すライン(バッシュ)

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

が、私は試してみて、変数に代入して印刷する場合、それはありません作業。 3つの空白行を出力します。 (私のファイルには3つのレコードしかありません)。私は他の方法も試みましたが、私は最近の試みを付けました。

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

これは私のユーザーのリストは次のようになります。

Jet,Black 
Faye,Valentine 
Radical,Edward 

答えて

0

図それを。前にこの解決策を試してみましたが、$ inputの前にエコーを忘れました。

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

私はあなたの全体 'while'ループがで置き換えることができると思います($入力をエコー1 -f "" カット-dを)単に 'cut -d '、' -f 1'、他のものはすべて省略します。 – user1934428

0

サブシェルに配置する必要があります。

あなたのような何かを行うことができる必要があります:

のfirstName = $ |

+0

うん、それは私がやったことだ!私はちょうどそれを下に掲載 –