私がbashで書いたスクリプトに問題があります。私はwhileループで行ごとに.txtファイルを読み込んでいます。行はx:y:z:a:b:cの形式です。各要素( 'x'、 'a'など)は、年齢、高さ、名前などの何かに対応します。私はうまくいきたいフィールドを印刷することに成功しましたが、「x:y:z:a:b:c」「x:y:z」全体を1つのセルの.csvに印刷すると、 「a:b:c」は、姓と名にカンマがあるため、次のセルに移動します。私は1つのセル内のすべての情報が欲しいデータにカンマが含まれている場合にbashでCSVファイルを生成する
Cell 1 Cell 2
age:height:number:last name first name:language
:私は、これは必要に応じて、私はさらに明確にすることができますので、混乱に聞こえるが、ここでそれがどのように見えるかを知っています。問題は、最後と最初の間にコンマがあることによると思います。ヒントや指針があれば教えてください。
編集:ここでは、コードが見えるものであるように:
INPUT=Smith, John:126 lbs:67in:26:College University
がstr = "Smith, John:126 lbs:67in:26:College University"
ので、 `NAME =スミスのサンプル入力を取る:filedirectory.filename.txt
には次のものが含ま
while read INPUT do
str=$INPUT
IFS=: read -r -a ARR <<< "$str"
NAME=${ARR[0]}
AGE=${ARR[3]}
echo $AGE, $NAME >>Filedirectory.filename.csv
done<filedirectory.filename.txt
... 、John、AGE = 26.理想的には、出力は隣り合わせに2つのセルが配置されている必要があります。
26 - Smith, John
は、代わりに私はCSVファイルを開くExcelで出力がされて終わる:「 - 」は、それぞれ
12 - Smith - John
列(12
1つのセルであり、次の最後の名前など)を象徴する何私は姓と名が1つのセルにあることを望んでいますが、名前が「Smith、John」とフォーマットされていて、カンマがものすごく混乱しているという事実のために、これは起こっていないようです。
変更区切り文字とその文字に設定区切り文字でスプレッドシートを開きますか? –
コードを投稿しますか? – Riaz
残念ながら私のコードを投稿することはできません –