2017-11-01 3 views
0

누구든지 첫 번째 열의 길이를 식별하는 데 도움을 줄 수 있습니까? 1 열의 길이가 10보다 큰지 확인해야합니까? 그것이 사실이라면, 레코드를 텍스트 파일로 옮겨야합니다.첫 번째 열에서 첫 번째 열 길이 확인 확인

**ABC239487SAN**|239487| - 13 

**ABC23948SAN**|239489| -12 

**ABC990SAN**|99072| -10 

**ABC990SAN**|99072| -10 

**ABC990SAN**|99076| -10 

**ABC990SAN**|99076| -10 
+1

OP, 포럼 규칙에 따라 게시물의 샘플 입력 및 샘플 출력에 코드 태그를 사용하십시오. 계속 배우고 공유하며 환호하십시오 !! – RavinderSingh13

답변

0

다음을 시도해주세요. awk이 도움이되는지 알려주세요. 코드 위

awk -F"|" '{if(length($1)>=10){print $0,length($1) > "output_file"}}' Input_file 
OR 
awk -F"|" '{printf("%s%s",length($1)>=10?$0"," length($1):"",RS)}' Input_file > output_file 

네 다음은 현재 라인과 출력 파일 1 필드의 길이를 인쇄 할 경우 1 필드 길이가 10보다 크거나 같은 경우 다음 확인 각 라인의 |으로 필드 분리를 만들 것입니다.

+2

'length ($ 1)> = 10 {...}'문에서'if '를 움직일 수 있습니다. – karakfa

+0

감사합니다, Ravinder, 작동 중 – kris

+0

@kris, 그것이 당신을 위해 일해 주어서 기쁩니다. https://stackoverflow.com/help/someone-answers 한번 한번보세요. – RavinderSingh13

1
awk -F'|' 'length($1)>10' infile > outfile 
+1

처럼 간단합니다. – batMan

관련 문제