나는 데이터 파일이 포함 된 다음 열데이터 파일에 날짜를 0으로 채우는 방법?
Current Date FirstName LastName
8/31/2014 AAA BBB
8/31/2014 CCC DDD
내가하고 싶은 것은의하는 currentDate 열에서 날짜를 추출 변환 그냥 연도와 달 새 열에 넣어이다. 이처럼
:
CurrentMonth CurrentDate FirstName LastName
201408 8/31/2014 AAA BBB
201408 8/31/2014 CCC DDD
내가 awk 명령과 노력 위의 명령은 201408.
CurrentMonth CurrentDate FirstName LastName
20148 8/31/2014 AAA BBB
20148 8/31/2014 CCC DDD
보다는 나에게 20,148을 제공하지만
awk -F $'\t' 'BEGIN {OFS=FS} { { split($1, val,"/") } print val[3] val[1],$0}' > outputFile
어떻게 할 날짜 0에 패드 0? AWK에서
awk -F $'\t' 'BEGIN {OFS=FS} { { split($1, val,"/") } printf "%04d%02d\t%s\n", val[3], val[1],$0}'
printf
같은 C에서 printf
만큼 작동합니다 :
매우 감사 코드를입니다! "% 04d % 02d \ t % s \ n"의 의미를 제게 설명해 주시겠습니까? – user59036
필자는 필드 구분 기호에 '$'를 설명 할 수 있습니까? 나는 탭을 입력을위한 기본 필드 분리 자로 만들고'printf'를 사용하여 출력을 제어하기 때문에'awk 'code''를 사용했을 것입니다. – Jotne
@Jotne 탭은 기본 필드 구분 기호가 아니며 기본 필드 구분 기호에 포함 된 공백 문자 중 하나입니다. OP는 탭이 아닌 공백이있는 입력란을 표시하지 않았지만 예제에서 탭을 지정하고 있기 때문에 막대기를 사용할 수 있습니다. '$ '는 셸에서 리터럴 문자를 생성하는 데 사용되므로 셸에서'$'\ t''는 리터럴 탭 문자이고 '\ t'는 탭 문자를 나타내는 이스케이프 시퀀스입니다. 어느 것이 든 awk를 위해 잘 작동 할 것이다. –