スクリプトを使用して日付形式を変更する[閉じる]

スクリプトを使用して日付形式を変更する[閉じる]
#!/bin/bash

while read line; do
echo "$line"
date=$(echo "$line" | cut -d/ -f1 )
month=$(echo "$line" | cut -d/ -f2 )
echo $month"/"$date"/2017"
done < ~/Downloads/Dates.csv

しかし、私が得た出力は03/02/2017の代わりに// 2017です。 (例)日付と月のフィールドがいっぱいになっていない理由がわかりません。

サンプル出力は次のとおりです。 [![ここに画像説明を入力][1]][1]

{ //2017年

//2017

//2017

//2017}

ベストアンサー1

あなたのスクリプトが私にとって効果的であるため、スクリプトに何が問題なのかわかりません。しかし、あなたが望むことを行うより簡単で、より良い、安全な方法があります。

awk -F/ '{ OFS="/"; print($2,$1,$3) }' ~/Downloads/Dates.csv

この方法がうまくいかない場合、またはスクリプトが予想される出力を生成しない理由を知りたい場合は、質問を編集して入力内容をより具体的に説明する必要があります。

おすすめ記事