배열의 모든 요소를 ​​gawk로 스캔하면 값 대신 숫자를 반환합니다.

StackOverflow https://stackoverflow.com/questions/1015586

  •  06-07-2019
  •  | 
  •  

문제

다음 기능이 주어지면 :

function process_pipes(text)
{
    split(text,recs,"|");
    for (field in recs){
        printf ("|%s|\n", field)
    }
}

입력이 : 0987654321 | 57300 | 오류 계정 번호를 찾을 수 없음 | gdumaresq | 0199 | 9 | n | 0 ||

텍스트 대신 아래에서 숫자를 얻는 이유는 무엇입니까?

|4|
|5|
|6|
|7|
|8|
|9|
|10|
|1|
|2|
|3|
도움이 되었습니까?

해결책

split 배열을 만듭니다 recs 코드에서 recs[1] == 0987654321 등

그만큼 for (field in recs) 루프는 배열 요소가 아닌 인덱스 목록을 생성합니다.

따라서 필요합니다.

function process_pipes(text)
{
    split(text,recs,"|");
    for (field in recs){
        printf ("|%s|\n", recs[field])
    }
}

다른 팁

왜냐하면

for ... in 

당신에게 열쇠. 사용

printf("|%s|\n",recs[field]);

값을 얻으려면.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top