2016-10-14 6 views
0

カンマ区切り文字列28213の2番目の部分を印刷しようとしています。私は間違って何をしていますか?awkで特定の項目を印刷する

私は sedは、カンマでチャンクに文字列を分割し、 awkはそのように Jameson Booker戻り Booker彼らにスペースのみの文字列を返しているが、私はの値を分割して返す方法を知っていないことをされていることを理解
#!/bin/bash 
file="4646484726,28213,93951656,Jameson Booker,10000043,Domain,60008494,Amarr VIII (Oris) - Emperor Family Academy,10,True,583000.0,100,71.0,2016-10-04 13:49:51.000,0,1,60618962,90,False,30002187,Amarr,7688312.5," 
echo "$file"|sed s/,/\\n/g | awk '{print $2}' 

コンマで区切られた値だけではなく、行全体が表示されます。

答えて

0

改行を挿入して複数の行にまたがって動作することはありません。デフォルトでは、空白をベースにしたカラムで動作します。コンマを改行ではなくスペースで置き換えます。

区切り文字を指定することで
echo "$file"|sed 's/,/ /g' | awk '{print $2}' 

またはカンマでスプリット:

echo "$file"| awk -F',' '{print $2}' 
関連する問題