이상적으로 평균 에 대한 브레이크 프로그램이 3 개 이상 실행해야하지만, 예제 / 출력은 세 번 이상 실행해야하는 동안 awk에 대한 예입니다. 이것은 새로운 awk 튜토리얼 시리즈의 첫 번째 기사입니다. 우리는 실용적인 예제와 awk의 모든 기능을 다룰 것입니다 곧 몇 주에 awk에 몇 가지 기사를 게시 할 예정 입니다. 이전 게시물에서, 우리는 sed 명령에 대해 이야기하고 우리는 텍스트 처리에 사용하는 많은 예를 보고 우리는이 좋은 방법을 보았다, 그러나 그것은 몇 가지 제한이 있습니다. 때로는 강력한 무언가가 필요하므로 데이터를 처리하기 위해 더 많은 제어 권한을 부여할 수 있습니다. 이것은 awk 명령이 들어오는 곳입니다. 위의 예에서 awk는 필드가 공백이 아닌 줄 바임으로 구분되기 때문에 필드를 제대로 처리하지 못합니다. 즉, 입력 파일의 각 줄을 가져 가라. 줄에 패턴이 포함된 경우 작업에 작업을 적용하고 결과 줄을 출력 파일에 씁니다.

패턴이 생략되면 모든 줄에 작업이 적용됩니다. 예: 위의 예에서는 보고서의 헤드라인과 마지막 파일을 인쇄합니다. 난 그냥이 기사를 읽기 시작했다. 지금까지 나는 그들이 잘 쓰여져 있다고 생각하고 설명은 그들이 어떻게 오해 될 수 있는지에 대한 인식으로 명확하게 수행되며, 따라서 그 일이 일어날 수있는 곳에 추가 레이어가 제시됩니다. 예를 들어, 표기판(~)은 독자가 그렇지 않으면 등가 기호를 예상했을 때 정규식과 비교하는 데 사용된다는 것을 지적합니다. 아시다시차면 awk가 수행할 동작이 중괄호로 둘러싸여 있으며 전체 명령이 인용됩니다. 그러나 구문은 awk `조건 { 작업 }`입니다. 이 예제에서는 조건이 없었지만 vim 관련 패키지만 설치했는지 확인하려면 (예, grep가 있지만 이 예제는 하나만 사용할 수 있을 때 두 유틸리티를 사용하는 이유입니다.) 이 명령은 모든 패키지를 인쇄합니다. 그들의 이름에 “vim”이 있는 정체. awk를 추천하는 한 가지는 빠르다는 것입니다.

당신은 1300 패키지를 산출 내 시스템에서, “vim”을 “lib”로 대체하는 경우. 작업해야 할 데이터가 훨씬 더 커질 수 있는 상황이 있을 것이며, 이는 awk가 빛나는 한 부분입니다. 어쨌든 예제부터 시작해 보겠습니다. 그러나 그 전에는 여러 가지 awk 방언과 구현이 있다는 것을 아는 것이 좋을 것이며 여기에 제시 된 예제는 구현 및 방언으로 GNU awk를 다룹니다. 그리고 다양한 인용 문제로 인해 bash, ksh 또는 sh를 사용하고 있다고 가정합니다( t)csh를 지원하지 않습니다. 내가 이것을 읽기 전에 다른 자습서를 읽은 후 나에게 어셈블리 언어처럼 보였지만, 당신은 간단한 언어와 따라 하기 쉬운 예로 설명했다. 감사! 많은 문자열 함수가 있습니다, 당신은 목록을 확인할 수 있습니다,하지만 우리는 예를 들어 그들 중 하나를 검사하고 나머지는 동일합니다 : 예제의 나머지는 단지 awk 프로그램 자체입니다. 위의 예에서 $1과 $4는 각각 이름 및 급여 필드를 나타냅니다. 위의 예에서 $1은 이름을 나타내고 $NF 급여를 나타냅니다.

$NF 마지막 필드를 나타내는 $NF 사용하여 급여를 받을 수 있습니다. 위의 예제에서는 패턴이 제공되지 않습니다. 따라서 작업은 모든 줄에 적용할 수 있습니다. 인수없이 작업 인쇄는 기본적으로 전체 줄을 인쇄하므로 실패없이 파일의 모든 줄을 인쇄합니다. 파일에서 n + 줄을 읽고 템플릿 파일의 데이터를 대체하는 방법에 대한 질문이 있습니다. 다음은 그림 예제와 함께 awk에 대한 자습서를 게시 주셔서 감사합니다 예입니다. 나는 awk🙂에 다른 기사를 기대할 것입니다 반대 순서로 데이터의 처음 두 필드를 인쇄합니다. 예를 들어 파일 data.txt에 선이 포함된 경우: 이 예제에서는 awk 명령이 두 개의 입력 파일을 정의합니다.