파일의 변수와 일부 기존 열을 인쇄합니다.

파일의 변수와 일부 기존 열을 인쇄합니다.

세 개의 열이 있는 긴 파일이 있습니다. 처음 200개 행에 "5"를 사용하고 다음 200개 행에 "6" 등을 사용하여 (첫 번째 열로) 열을 추가하고 싶습니다.

답변1

awk 'BEGIN { c1 = 5 } { print c1, $0 } FNR%200 == 0 { ++c1 }' file

c1이는 프로그램 시작 시 변수를 5로 초기화합니다 awk. 그런 다음 모든 입력 줄을 인쇄하고 해당 변수의 현재 값을 추가합니다.

줄 번호( FNR)가 200의 배수인 줄의 경우 이 변수는 줄이 인쇄된 후 1씩 증가합니다.

c1라인 200, 400 등을 인쇄한 후에 증가가 발생합니다.

기본적으로 숫자와 원시 데이터 사이의 구분 기호는 공백 문자입니다. OFS블록에 설정 하거나 명령줄에서 사용하여 BEGIN탭(또는 원하는 대로)으로 변경합니다 .-v OFS='\t'awk

awk 'BEGIN { OFS = "\t"; c1 = 5 } { print c1, $0 } FNR%200 == 0 { ++c1 }' file

저장하려면 출력을 새 파일 이름으로 리디렉션하세요.

관련 정보