#!/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
이 방법도 작동하지 않거나 스크립트가 예상한 출력을 생성하지 않는 이유를 알고 싶다면 질문을 편집하고 입력 내용에 대해 더 구체적으로 설명해야 합니다.