Bash에서 특정 문자를 찾고 인쇄하는 방법

게로 게

다음과 같은 파일이 있습니다.

AA,A=14,B=356,C=845,D=4516
BB,A=65,C=255,D=841,E=5133,F=1428
CC,A=88,B=54,C=549,F=225

행에 A, B, C 또는 D 값이 없는지 결코 알 수 없습니다. 하지만이 파일을 다음과 같이 변환해야합니다.

AA,A=14,B=356,C=845,D=4516,-,-
BB,A=65,-,C=255,D=841,E=5133,F=1428
CC,A=88,B=54,C=549,-,-,F=225

따라서 누락 된 값이 있으면 -표시 만하십시오. 내 계획에는 쉽게 구문 분석하기 위해 동일한 수의 열이 있습니다. 나는 awk 솔루션을 선호합니다. 조언이나 도움을 주셔서 감사합니다.

내 첫 번째 시도는 :

awk '{gsub(/[,]/, "\t")}; BEGIN{ FS = OFS = "\t" } { for(i=1; i<=NF; i++) if($i ~ /^ *$/) $i = "-" }; {print $0}'

하지만 일부 값이 누락되었음을 알 수 있습니다.

편집하다:

내 헤더에서 A, B, C, D, E, F 값이 있음을 알고 있습니다.

선딥
$ cat file.txt
AA,A=14,B=356,C=845,D=4516
BB,A=65,C=255,D=841,E=5133,F=1428
CC,A=88,B=54,C=549,F=225

$ perl -F, -le '@k=(A..F);
   $op[0]=$F[0]; @op[1..6]=("-")x6;
   $j=0; for($i=1;$i<=$#F;){ if($F[$i] =~ m/$k[$j++]=/){$op[$j]=$F[$i]; $i++} }
   print join(",",@op)
   ' file.txt
AA,A=14,B=356,C=845,D=4516,-,-
BB,A=65,-,C=255,D=841,E=5133,F=1428
CC,A=88,B=54,C=549,-,-,F=225
  • -F,입력 줄을 분할 ,하고 @F배열에 저장
  • -l 입력 줄에서 줄 바꿈을 제거하고 출력에 줄 바꿈을 추가합니다.
  • @k=(A..F);초기화 @k와 어레이 A, B등등 개까지F
  • $op[0]=$F[0]; @op[1..6]=("-")x6;@op첫 번째 요소 @F와 나머지 6 개 요소로 배열을 초기화합니다.-
  • for-loop는 @F배열을 반복합니다. @k요소가 해당 인덱스의 배열 요소 와 일치하면 =, 변경 @op요소
  • print join(",",@op)구분자로 @op배열 인쇄,

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

라인 N 앞에 문자열을 인쇄하고 AWK 또는 SED를 사용하여 라인 N에서 특정 문자열을 삭제하는 방법

분류에서Dev

Python : 중첩 목록에서 특정 문자를 찾고 인덱스를 반환하는 방법

분류에서Dev

프로젝트를 인쇄하고 웹 페이지에서 특정 항목을 인쇄하는 방법

분류에서Dev

파이썬에서 특수 문자를 인쇄하는 방법

분류에서Dev

.bat를 사용하여 txt에서 특정 문자열을 찾고 바꾸는 방법은 무엇입니까?

분류에서Dev

모든 특수 문자를 찾고 주어진 문자열로 인쇄하는 방법은 무엇입니까?

분류에서Dev

특정 열의 문자를 제거하고 Bash에서 숫자로 나누는 방법

분류에서Dev

파이썬에서 특정 문자로 시작하고 끝나는 문자열에서 하위 문자열의 인덱스를 찾아 인쇄합니다.

분류에서Dev

문자열에서 중복 문자를 찾고 인쇄하는 방법은 무엇입니까?

분류에서Dev

li> div에서 특정 문자열을 찾고 숨길 수있는 방법

분류에서Dev

특정 '문자열'을 찾고 전체 줄을 인쇄하는 방법은 무엇입니까?

분류에서Dev

결과에서 특정 ID (예 : word)를 인쇄하는 방법

분류에서Dev

bash에서 특정 단어 앞에 문자열을 인쇄하는 방법은 무엇입니까?

분류에서Dev

awk를 사용하여 문장에서 특정 문자열을 인쇄하는 방법

분류에서Dev

Kornshell-파일에서 특정 문자열까지 인쇄하는 방법

분류에서Dev

Bash에서 원격 SOAP 서비스를 확인하고 특정 문자열이 있는지 확인하는 방법

분류에서Dev

C # .txt 파일에서 특정 문자로 시작하는 단어를 인쇄하는 방법

분류에서Dev

특정 사업부에서 Scroll에 경고를 인쇄하는 방법은 무엇입니까?

분류에서Dev

특정 순서로 순위가 매겨지고 문자를 포함하는 목록에서 가장 높은 문자를 찾는 방법은 무엇입니까?

분류에서Dev

문자열에서 특정 문자를 찾아 문자열 끝에 넣는 방법

분류에서Dev

특정 문자가 특정 문장에있는 횟수를 찾고자 함

분류에서Dev

문자열의 특정 부분에서 텍스트를 인쇄하는 방법은 무엇입니까?

분류에서Dev

AVL 트리에서 특정 값을 찾고 노드를 반환하는 방법

분류에서Dev

Ruby / Rails로 문자열에서 특정 단어를 찾는 방법

분류에서Dev

PDF에서 특이한 문자를 인쇄하는 방법 (pdfbox 사용)

분류에서Dev

제외가있는 특정 파일 경로를 찾고 인쇄하는 방법은 무엇입니까?

분류에서Dev

특정 문자를 제거하고 별도의 줄에 인쇄

분류에서Dev

고정 문자열에서 문자를 제거하는 방법

분류에서Dev

Bash에서 정규식을 사용하여 문자열의 특정 부분을 찾는 방법

Related 관련 기사

  1. 1

    라인 N 앞에 문자열을 인쇄하고 AWK 또는 SED를 사용하여 라인 N에서 특정 문자열을 삭제하는 방법

  2. 2

    Python : 중첩 목록에서 특정 문자를 찾고 인덱스를 반환하는 방법

  3. 3

    프로젝트를 인쇄하고 웹 페이지에서 특정 항목을 인쇄하는 방법

  4. 4

    파이썬에서 특수 문자를 인쇄하는 방법

  5. 5

    .bat를 사용하여 txt에서 특정 문자열을 찾고 바꾸는 방법은 무엇입니까?

  6. 6

    모든 특수 문자를 찾고 주어진 문자열로 인쇄하는 방법은 무엇입니까?

  7. 7

    특정 열의 문자를 제거하고 Bash에서 숫자로 나누는 방법

  8. 8

    파이썬에서 특정 문자로 시작하고 끝나는 문자열에서 하위 문자열의 인덱스를 찾아 인쇄합니다.

  9. 9

    문자열에서 중복 문자를 찾고 인쇄하는 방법은 무엇입니까?

  10. 10

    li> div에서 특정 문자열을 찾고 숨길 수있는 방법

  11. 11

    특정 '문자열'을 찾고 전체 줄을 인쇄하는 방법은 무엇입니까?

  12. 12

    결과에서 특정 ID (예 : word)를 인쇄하는 방법

  13. 13

    bash에서 특정 단어 앞에 문자열을 인쇄하는 방법은 무엇입니까?

  14. 14

    awk를 사용하여 문장에서 특정 문자열을 인쇄하는 방법

  15. 15

    Kornshell-파일에서 특정 문자열까지 인쇄하는 방법

  16. 16

    Bash에서 원격 SOAP 서비스를 확인하고 특정 문자열이 있는지 확인하는 방법

  17. 17

    C # .txt 파일에서 특정 문자로 시작하는 단어를 인쇄하는 방법

  18. 18

    특정 사업부에서 Scroll에 경고를 인쇄하는 방법은 무엇입니까?

  19. 19

    특정 순서로 순위가 매겨지고 문자를 포함하는 목록에서 가장 높은 문자를 찾는 방법은 무엇입니까?

  20. 20

    문자열에서 특정 문자를 찾아 문자열 끝에 넣는 방법

  21. 21

    특정 문자가 특정 문장에있는 횟수를 찾고자 함

  22. 22

    문자열의 특정 부분에서 텍스트를 인쇄하는 방법은 무엇입니까?

  23. 23

    AVL 트리에서 특정 값을 찾고 노드를 반환하는 방법

  24. 24

    Ruby / Rails로 문자열에서 특정 단어를 찾는 방법

  25. 25

    PDF에서 특이한 문자를 인쇄하는 방법 (pdfbox 사용)

  26. 26

    제외가있는 특정 파일 경로를 찾고 인쇄하는 방법은 무엇입니까?

  27. 27

    특정 문자를 제거하고 별도의 줄에 인쇄

  28. 28

    고정 문자열에서 문자를 제거하는 방법

  29. 29

    Bash에서 정규식을 사용하여 문자열의 특정 부분을 찾는 방법

뜨겁다태그

보관