셸 은 어떻게 A 파일 의 숫자 와 B 파일 의 숫자 를 더 한 다음 에 B 파일 의 숫자 를 바 꿉 니까?

글 목록
  • 1. 문제 의 출처
  • 2. 문제 상세 정보
  • 셋, 내 답
  • 문제 의 출처
    아래 를 찍 어서 문제 의 출처 를 보십시오.
    셸 스 크 립 트 로 어떻게 A 파일 안의 숫자 와 B 파일 의 숫자 를 더 해서 B 파일 안의 숫자 를 바 꿉 니까?
    2. 문제 의 상세 한 상황
    A. txt 의 두 번 째 열 숫자 와 B. txt 의 두 번 째 열 숫자 를 더 하고 줄 수가 일치 하 는 숫자;합 쳐 B. txt 두 번 째 열 숫자 를 교체 합 니 다.
    파일 형식 은 다음 과 같 습 니 다.
    3. 나의 답
    1. filleB 가 '\# kn vn' 의 내용 에 만 관심 을 가지 고 다른 주석 류 의 내용 을 보류 할 필요 가 없다 면 실현 하기 가 비교적 간단 합 니 다. 한 줄 의 명령 으로 해결 합 니 다.
    paste fileA fileB | grep "#[0-9]" | awk '{print $1 " " $2+$4}' > filleB
    

    2 、 file 2 주석 을 완전 하 게 유지 해 야 한다 면 두 줄 을 더 해서 해결 합 니 다.
    grep -n "#[0-9]" fileA | cut -d  ":" -f 1 > fileAtmp
    paste fileA fileB | grep "#[0-9]" | awk '{print $1 " " $2+$4}'  > fileBtmp
    paste  fileAtmp fileBtmp |  awk   '{cmd="sed -i \""$1"c "  $2 " " $3"\" fileB"; system(cmd)}'
    

    좋은 웹페이지 즐겨찾기