세 개의 열이 있는 긴 파일이 있습니다. 처음 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
저장하려면 출력을 새 파일 이름으로 리디렉션하세요.