쉘 스크립트가 생성 된 파일을 awk 할 수 없음

Dhartford

간단한 통과 / 실패 테스트 스크립트를 만들려고하는데 아래에 설명 된대로 몇 가지 문제가 있습니다. 내 의도는 명령의 전체 결과 (예 : ping)를 results.txt파일로 가져 와서 보관할뿐만 아니라 results.txt문제가 감지되면 다른 검사를 위해 파일을 구문 분석하는 것입니다 .

#!/bin/bash
ping -c 20 google.com > results.txt
packetloss = `awk '/packet loss/{x=$6} END{print x}' results.txt`
echo "$packetloss" >> debug.txt
#  if packetloss > 0, add to an error.txt to fail
#  if avg ping time > 5ms, add to an error.txt to fail

packetloss 변수가 파일 에서 awk정보를 가져 오지 않습니다 results.txt(검토를 위해 디버그 파일로 전송). 이것을 막는 쉘 스크립팅과 관련된 해결 방법이 있는지 궁금합니다.

수동으로 실행 awkresults.txt예상되는 결과를 반환 '0 %'.

Gilles Quenot

주위에 공백이 허용되지 않습니다 =!

그래서:

#!/bin/bash
ping -c 20 google.com > results.txt
packetloss=$(awk '/packet loss/{print $6}' results.txt)
echo "$packetloss" >> debug.txt

또는 더 짧게 :

ping -c 20 google.com |
    awk '/packet loss/{sub(/%/, "");print $6 >> "debug.txt"}'

노트:

  • x변수 를 할당 할 필요가 없습니다 . $6직접 인쇄 할 수 있습니다.
  • AWK 자체는 출력과 함께 새 파일을 만들 수 있습니다.
  • 역 따옴표
    `
    예를 들어 다음과 같이 이전 스타일의 명령 대체에 사용됩니다.
foo =`명령`

foo=$(command)구문 대신 좋습니다. 내부의 백 슬래시 처리 $()는 덜 놀랍고 $()중첩하기 쉽습니다.

http://mywiki.wooledge.org/BashFAQ/082 확인

Perl 을 사용하는 추가 솔루션 :

ping -c 20 google.com |
    perl -lne '/(\d+)%\s+packet\s+loss/ and print $1' >> debug.txt

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Crontabbed 쉘 스크립트가 파일을 작성 / 쓰기 할 수 없음

분류에서Dev

PHP 스크립트, 생성 된 파일에 명령을 적용 할 수 없음

분류에서Dev

중첩 된 쉘 스크립트 작성-인수를 전달할 수 없음

분류에서Dev

쉘 스크립트로 가상 환경을 활성화 할 수 없습니다.

분류에서Dev

임시 파일을 생성하지 않고 쉘 스크립트에서 생성 된 파일 앞에 줄 수를 추가하는 방법

분류에서Dev

Rpackage : Rstudio가 잘못된 NAMESPACE 파일을 생성 할 수 있음

분류에서Dev

쉘 스크립트에서 파일의 행을 삭제할 수 없습니다.

분류에서Dev

쉘 스크립트에서 "awk"없이 어떻게이 작업을 수행 할 수 있습니까?

분류에서Dev

Bash 스크립트가 파일을 이동할 수 없음

분류에서Dev

스크립트를 실행할 수 없음 (실행 가능, 해시 뱅이 쉘과 일치)

분류에서Dev

스크립트를 실행할 수 없음 (실행 가능, 해시 뱅이 쉘과 일치)

분류에서Dev

실행 가능한 쉘 스크립트를 파이썬으로 생성 할 수 있습니까?

분류에서Dev

sh 파일에서 실행할 때 쉘 스크립트에서 찾을 수 없음 오류가 발생합니다. 그러나 수동으로 입력하면 명령이 작동합니다.

분류에서Dev

쉘 스크립트에서 ls의 출력으로 생성 된 배열의 요소에 액세스 할 수 없습니다.

분류에서Dev

동일한 스크립트 내에서 생성 된 테이블을 삭제할 수 없습니다.

분류에서Dev

C에서 명명 된 파이프를 사용하여 쉘 스크립트와 통신 할 수 없습니다.

분류에서Dev

쉘 스크립트의 파일 처리 견고성을 어떻게 테스트 할 수 있습니까?

분류에서Dev

Applescript 쉘 스크립트가 파일에 쓸 수 없습니까?

분류에서Dev

Java의 특정 디렉토리에 파일을 생성 할 수 없음 (시스템이 지정된 경로를 찾을 수 없음)

분류에서Dev

사용자 정의 된 쉘 스크립트를 실행할 수 없습니다.

분류에서Dev

X64 ASSEMBLY-Windows에서 컴파일 및 링크 된 원시 쉘 코드를 실행할 수 없음

분류에서Dev

수천 개의 파일을 통과 할 수없는 간단한 쉘 스크립트; 시작은 잘되지만 일정 시간이 지나면 ""`일치를 찾는 동안 "예기치 않은 EOF"가 발생합니다.

분류에서Dev

생성 된 C # 새 프로세스가 특정 파일에 액세스 할 수 없음

분류에서Dev

Tkinter를 사용하여 포스트 스크립트 파일을 생성 할 수 없습니다.

분류에서Dev

배치 스크립팅으로 새 파일을 제대로 생성 할 수 없음

분류에서Dev

스크립트에서 동적으로 생성 된 NetSuite 고급 PDF-<img> 태그를 설정할 수 없음

분류에서Dev

쉘 스크립트 소스 : 찾을 수 없음

분류에서Dev

AWK- 특정 달에 생성 된 모든 파일의 수와 무게를 나열하는 스크립트

분류에서Dev

후속 awk 스크립트에서 하나의 awk 스크립트로 생성 된 어레이에 액세스 할 수 있습니까?

Related 관련 기사

  1. 1

    Crontabbed 쉘 스크립트가 파일을 작성 / 쓰기 할 수 없음

  2. 2

    PHP 스크립트, 생성 된 파일에 명령을 적용 할 수 없음

  3. 3

    중첩 된 쉘 스크립트 작성-인수를 전달할 수 없음

  4. 4

    쉘 스크립트로 가상 환경을 활성화 할 수 없습니다.

  5. 5

    임시 파일을 생성하지 않고 쉘 스크립트에서 생성 된 파일 앞에 줄 수를 추가하는 방법

  6. 6

    Rpackage : Rstudio가 잘못된 NAMESPACE 파일을 생성 할 수 있음

  7. 7

    쉘 스크립트에서 파일의 행을 삭제할 수 없습니다.

  8. 8

    쉘 스크립트에서 "awk"없이 어떻게이 작업을 수행 할 수 있습니까?

  9. 9

    Bash 스크립트가 파일을 이동할 수 없음

  10. 10

    스크립트를 실행할 수 없음 (실행 가능, 해시 뱅이 쉘과 일치)

  11. 11

    스크립트를 실행할 수 없음 (실행 가능, 해시 뱅이 쉘과 일치)

  12. 12

    실행 가능한 쉘 스크립트를 파이썬으로 생성 할 수 있습니까?

  13. 13

    sh 파일에서 실행할 때 쉘 스크립트에서 찾을 수 없음 오류가 발생합니다. 그러나 수동으로 입력하면 명령이 작동합니다.

  14. 14

    쉘 스크립트에서 ls의 출력으로 생성 된 배열의 요소에 액세스 할 수 없습니다.

  15. 15

    동일한 스크립트 내에서 생성 된 테이블을 삭제할 수 없습니다.

  16. 16

    C에서 명명 된 파이프를 사용하여 쉘 스크립트와 통신 할 수 없습니다.

  17. 17

    쉘 스크립트의 파일 처리 견고성을 어떻게 테스트 할 수 있습니까?

  18. 18

    Applescript 쉘 스크립트가 파일에 쓸 수 없습니까?

  19. 19

    Java의 특정 디렉토리에 파일을 생성 할 수 없음 (시스템이 지정된 경로를 찾을 수 없음)

  20. 20

    사용자 정의 된 쉘 스크립트를 실행할 수 없습니다.

  21. 21

    X64 ASSEMBLY-Windows에서 컴파일 및 링크 된 원시 쉘 코드를 실행할 수 없음

  22. 22

    수천 개의 파일을 통과 할 수없는 간단한 쉘 스크립트; 시작은 잘되지만 일정 시간이 지나면 ""`일치를 찾는 동안 "예기치 않은 EOF"가 발생합니다.

  23. 23

    생성 된 C # 새 프로세스가 특정 파일에 액세스 할 수 없음

  24. 24

    Tkinter를 사용하여 포스트 스크립트 파일을 생성 할 수 없습니다.

  25. 25

    배치 스크립팅으로 새 파일을 제대로 생성 할 수 없음

  26. 26

    스크립트에서 동적으로 생성 된 NetSuite 고급 PDF-<img> 태그를 설정할 수 없음

  27. 27

    쉘 스크립트 소스 : 찾을 수 없음

  28. 28

    AWK- 특정 달에 생성 된 모든 파일의 수와 무게를 나열하는 스크립트

  29. 29

    후속 awk 스크립트에서 하나의 awk 스크립트로 생성 된 어레이에 액세스 할 수 있습니까?

뜨겁다태그

보관