awk 변수의 매개변수 변경

awk 변수의 매개변수 변경

Bash 스크립팅의 새로운 기능입니다.

데이터 목록: 파일 이름에는 "0310_Filename" 날짜가 포함됩니다.

Hour     AM/PM   Game 1     Game2      Game 3

12:00:00 AM      First Last First Last First Last

나는 grep과 awk를 사용하여 특정 날짜와 시간, 특정 게임과 관련된 이름을 찾아낼 수 있는 bash 스크립트를 작성하려고 합니다. 3개의 이름을 모두 압축할 수 있지만 게임은 그렇지 않습니다.

이는 모든 날짜 및 시간 이름에 적용됩니다.

#!/bing/bash

cat "$1"_Filename | grep "$2" | grep "$3" 

명령줄 입력:sh <scriptname> 0310 5:00:00 AM

날짜를 기준으로 올바른 파일 이름을 찾은 다음 시간, 오전/오후순으로 정렬합니다.

이렇게 하면 시간과 나열된 3개의 이름을 알 수 있습니다. 내가 하고 싶은 것은 "game1", "game2" 또는 "game3"이 될 수 있는 최종 매개변수를 추가하는 것입니다.

awk 구분 기호와 연결하기 위해 스크립트에서 변수를 생성하려고 시도했지만 문제는 $4를 사용한 내용이 출력된다는 것입니다...

예:

#!/bing/bash

game1="'{print $3, $4}'"

game2="'{print $5, $6}'"

game3="'{print $7, $8}'"

cat "$1"_Filename | grep "$2" | grep "$3" | awk -v a="$'$4'" -F" " 'a'

명령줄 입력:sh <scriptname> 0310 05:00:00 AM game1

여기서 변수가 실패하고 있다는 느낌이 들며 awk에서 어떻게 작동하는지 완전히 이해하지 못합니다... 일어나야 할 일은 인수가 네 번째 변수의 스크립트에 전달되어야 하고 변수는 다음과 같이 전달되어야 한다는 것입니다. 인쇄할 awk 숫자 구분 기호를 나타냅니다. 이것이 의미가 있기를 바라며 지침을 정말 감사하겠습니다.

관련 정보