다음과 같은 수천 개의 항목이 포함된 파일이 있습니다.
6/05/2016,32,34,40,45,48,,01,10
10/05/2016,02,26,27,40,49,,05,10
13/05/2016,07,15,28,31,42,,10,11
17/05/2016,15,27,32,36,39,,03,10
첫 번째 필드의 날짜를 800부터 시작하는 연속 숫자로 바꾸고 싶습니다. 따라서 이 목록은 다음과 같이 변환됩니다.
800,32,34,40,45,48,,01,10
801,02,26,27,40,49,,05,10
802,07,15,28,31,42,,10,11
803,15,27,32,36,39,,03,10
...
어떻게 해야 하나요?
답변1
awk
그렇게 간단 해요
awk -F, -vOFS=, '{$1=n++; print}' n=800 file
입력 및 출력 구분 기호를 ,
via -F,
및 로 설정 -vOFS=,
하고 변수를 using n
으로 초기화합니다 . "action" 문은 각 레코드에 대해 실행되어 첫 번째 필드를 사후 증분으로 설정 하고 재구성된 레코드를 인쇄합니다.800
n=800
{$1=n++; print}
n