Bash : 열 추가 및 변수 쓰기, 줄마다 다름

Ouranos

나는 숫자를 포함하는 일부 텍스트 파일을 처리하기 위해 bash에서 스크립트를 작성하고 있습니다. 45 개의 위치가 숫자로 채워진 배열 변수를 만들었습니다. 이 텍스트 파일 (구분자는 실제로 쉼표가 아닌 '|')에 5 개 필드 / 열과 45 줄이 있습니다. 6 번째 열을 추가 하고 파일의 n 번째 줄에 배열 n 번째 값을 쓰고 싶습니다 .

내 원본 텍스트 파일 :

 61537000|COO|DI|VMD|2018-01-08 00:00:00   
 61537000|COO|DI|VMD|2018-01-09 00:00:00   
 61537000|COO|DI|VMD|2018-01-10 00:00:00   
 61537000|COO|DI|VMD|2018-01-11 00:00:00   
 61537000|COO|DI|VMD|2018-01-12 00:00:00
 ...
 61537000|COO|DI|VMD|2018-02-21 00:00:00

내 배열 변수는 qy. echo ${qy[*]}나에게 준다 :

133.7545755174117347 197.5730453102068415 211.0612457141076671 195.3965252988823307 155.9141492798344956 122.0765862336716795 109.3807402580878840 100.1258594727256394 118.3713165600757955 129.9118732920391577 130.2183465952591614 108.3783455600275339 87.3744866455706415 74.6811189513075407 67.2786196847537834 66.6486466128231307 75.5263825809798786 79.7579752859345201 76.7748478701627372 75.7971233334776102 75.5218971041520397 74.3644957571369167 74.7302279790034398 82.9013111977886133 107.8462461297641418 109.3922469923296476 87.2584880672884534 74.3278359110118687 66.8273524401225775 62.9054376472748469 59.2471567250619217 55.4465232890134493 54.9324477319027615 55.0268189192084034 50.3969437024658000 48.2808157236208981 49.8788627643603767 50.7025436995365588 52.5391775713757207 51.6024683921895763 66.5341261816728136 73.3342955766798011 68.3585064456764055 69.1125302235501069 75.0594939607898664

원하는 출력 파일 :

 61537000|COO|DI|VMD|2018-01-08 00:00:00|133.75
 61537000|COO|DI|VMD|2018-01-09 00:00:00|197.57  
 61537000|COO|DI|VMD|2018-01-10 00:00:00|211.06
 61537000|COO|DI|VMD|2018-01-11 00:00:00|195.39
 61537000|COO|DI|VMD|2018-01-12 00:00:00|155.91
 ...
 61537000|COO|DI|VMD|2018-02-21 00:00:00|122.07

나는 성공적으로 사용한 while read line do; ... done < file으로 cut -d '|' -f6하는 읽기 파일에서,하지만 분명히 유사한 존재하지 않습니다 while write에 대한 간단한 루프의 종류 쓰기 거기에가,있다? 어떤 도움이라도 대단히 감사하겠습니다.

agc

순수한 bash방법. 요소의 수가 이후 $qy의 행 수와 동일 파일 하는 for루프를 사용하여 작동한다 read 내부 루프 :

for f in ${qy[*]}; do read x; printf '%s|%.2f\n' "$x" "$f"; done < file

어떤 이유로 printf작동하지 않는 경우 echo매개 변수 대체를 사용 하여 수행 할 수 있습니다 .

for f in ${qy[*]}; do read x; echo "$x|${f%%??????????????}"; done < file

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

파일에서 문자열 확인, 변수 추출 및 다른 파일에 쓰기

분류에서Dev

쓰기 및 읽기 .csv 다른 수의 열

분류에서Dev

Excel SUMIFS 다중 열 및 추가 기준

분류에서Dev

파일에 bash 배열 (문자열 및 특수 문자) 쓰기

분류에서Dev

마지막 가변 길이 줄 인쇄 및 덮어 쓰기 (IPython)

분류에서Dev

XML 수정 및 파일 아름다운 수프 쓰기

분류에서Dev

chron 문자열에 쓰기 및 다시

분류에서Dev

bash에서 파일의 다른 줄에 변수 추가

분류에서Dev

파일 읽기 및 쓰기는 추가 마지막 번호를 추가합니다.

분류에서Dev

행 현명한 계산 및 변수 이름이있는 열에 결과 쓰기

분류에서Dev

IIS URL 다시 쓰기 규칙 HTTP를 HTTPS로 및 WWW 추가

분류에서Dev

배열에 다시 변수 추가

분류에서Dev

문자열을 가져와 변수 이름 앞에 추가합니다.

분류에서Dev

가져 오기 및 내보내기 마법사를 열 수 없습니다.

분류에서Dev

다른 변수에 이름이있는 변수에 bash 배열 복사

분류에서Dev

한 열의 변수; 다른-> 목표의 값 : 변수 열 추가

분류에서Dev

AWK-패턴 검색-변수로 추가-변수가 아닌 다음 줄 검색 및 인쇄 + 변수

분류에서Dev

동적 변수 배열 이름을 만든 다음 개체 추가

분류에서Dev

Python csv 작성기 / 행 다시 쓰기 / 덮어 쓰기 또는 모든 행 삭제 및 새 행 추가

분류에서Dev

bash 함수 매개 변수로 전달 된 이름으로 배열에 추가

분류에서Dev

다중 처리 대기열의 동시 읽기 및 쓰기 속도를 어떻게 높일 수 있습니까?

분류에서Dev

동적 배열의 잘못된 초기화로 인해 읽기 및 쓰기 오류가 발생합니다.

분류에서Dev

적용 및 람다 함수를 사용하여 새 열 추가

분류에서Dev

.htaccess 다시 쓰기; 그러나 변수가 필요합니다.

분류에서Dev

스칼라의 테이블 이름 및 열 이름 목록을 수락하고 열 값에 추가 된 접두사를 반환합니다.

분류에서Dev

Bash의 변수에 기본 배열 쓰기

분류에서Dev

Unix bash는 이름에 변수를 사용하여 동적으로 함수를 추가합니다.

분류에서Dev

Bash는 배열 및 비 배열 매개 변수를 모두 함수에 전달합니다.

분류에서Dev

데몬으로서의 Python 스크립트가 파일 열기 및 쓰기를 지원하지 않습니다.

Related 관련 기사

  1. 1

    파일에서 문자열 확인, 변수 추출 및 다른 파일에 쓰기

  2. 2

    쓰기 및 읽기 .csv 다른 수의 열

  3. 3

    Excel SUMIFS 다중 열 및 추가 기준

  4. 4

    파일에 bash 배열 (문자열 및 특수 문자) 쓰기

  5. 5

    마지막 가변 길이 줄 인쇄 및 덮어 쓰기 (IPython)

  6. 6

    XML 수정 및 파일 아름다운 수프 쓰기

  7. 7

    chron 문자열에 쓰기 및 다시

  8. 8

    bash에서 파일의 다른 줄에 변수 추가

  9. 9

    파일 읽기 및 쓰기는 추가 마지막 번호를 추가합니다.

  10. 10

    행 현명한 계산 및 변수 이름이있는 열에 결과 쓰기

  11. 11

    IIS URL 다시 쓰기 규칙 HTTP를 HTTPS로 및 WWW 추가

  12. 12

    배열에 다시 변수 추가

  13. 13

    문자열을 가져와 변수 이름 앞에 추가합니다.

  14. 14

    가져 오기 및 내보내기 마법사를 열 수 없습니다.

  15. 15

    다른 변수에 이름이있는 변수에 bash 배열 복사

  16. 16

    한 열의 변수; 다른-> 목표의 값 : 변수 열 추가

  17. 17

    AWK-패턴 검색-변수로 추가-변수가 아닌 다음 줄 검색 및 인쇄 + 변수

  18. 18

    동적 변수 배열 이름을 만든 다음 개체 추가

  19. 19

    Python csv 작성기 / 행 다시 쓰기 / 덮어 쓰기 또는 모든 행 삭제 및 새 행 추가

  20. 20

    bash 함수 매개 변수로 전달 된 이름으로 배열에 추가

  21. 21

    다중 처리 대기열의 동시 읽기 및 쓰기 속도를 어떻게 높일 수 있습니까?

  22. 22

    동적 배열의 잘못된 초기화로 인해 읽기 및 쓰기 오류가 발생합니다.

  23. 23

    적용 및 람다 함수를 사용하여 새 열 추가

  24. 24

    .htaccess 다시 쓰기; 그러나 변수가 필요합니다.

  25. 25

    스칼라의 테이블 이름 및 열 이름 목록을 수락하고 열 값에 추가 된 접두사를 반환합니다.

  26. 26

    Bash의 변수에 기본 배열 쓰기

  27. 27

    Unix bash는 이름에 변수를 사용하여 동적으로 함수를 추가합니다.

  28. 28

    Bash는 배열 및 비 배열 매개 변수를 모두 함수에 전달합니다.

  29. 29

    데몬으로서의 Python 스크립트가 파일 열기 및 쓰기를 지원하지 않습니다.

뜨겁다태그

보관