아래 데이터가있는 파일이 있습니다. 내가 도와주세요 쉘 스크립트쉘 스크립트에서 두 번째 열을 변경하는 방법
"2017-10-16 14:03:07", "201710110923"
"2017-10-16 14:03:22", "201710110930"
를 사용하여 "2017-10-11 09:23:00"
형식으로 "201710110923"
형식에서 두 번째 열을 변경합니다.
감사 & 감사
인 Rajesh
아래 데이터가있는 파일이 있습니다. 내가 도와주세요 쉘 스크립트쉘 스크립트에서 두 번째 열을 변경하는 방법
"2017-10-16 14:03:07", "201710110923"
"2017-10-16 14:03:22", "201710110930"
를 사용하여 "2017-10-11 09:23:00"
형식으로 "201710110923"
형식에서 두 번째 열을 변경합니다.
감사 & 감사
인 Rajesh
사용 : 여기
sed -r 's/(.*, \")([0-9]{4})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})/\1\2-\3-\4 \5:\6:00/g' inputfile.in
, 우리는 경기를 캡처 한 후 출력을 대체하는 정규 표현식 그룹을 사용하고 있습니다. 파일을 업데이트하려면 -i
옵션을 사용하십시오.
awk
에 따라 당신은 같은에 도움이 될 수 있습니다.
awk -F"\"" '{$4=substr($4,1,4)"-"substr($4,5,2)"-"substr($4,7,2) " " substr($4,9,2)":"substr($4,11,2)":"substr($4,13,2)} 1' OFS="\"" Input_file
출력은 다음과 같습니다. 다음
"2017-10-16 14:03:07", "2017-10-11 09:23:"
"2017-10-16 14:03:22", "2017-10-11 09:30:"
bash
대체 솔루션 :
IFS=','; while read d1 d2; do
d2=$(tr -d '[:space:]' <<<"$d2")
new_d=$(date -d"$(echo ${d2:1:4}/${d2:5:2}/${d2:7:2} ${d2:9:4})" +'%Y-%m-%d %H:%M:%S')
printf '%s, "%s"\n' "$d1" "$new_d"
done < yourfile
출력 :
"2017-10-16 14:03:07", "2017-10-11 09:23:00"
"2017-10-16 14:03:22", "2017-10-11 09:30:00"
@pythonlover, 환영, 당신을 도와 기쁘다있다. https://stackoverflow.com/help/someone-answers를 참조하십시오. – RavinderSingh13