그것들을 추가하세요....
이것은 작동합니다:
awk 'BEGIN { FS=":"; }
{ print $1 $3 $5; }' /etc/passwd
하지만 그렇지 않습니다:
awk 'BEGIN { FS=":"; }
{ echo $1 $3 $5; }' /etc/passwd
이유를 알고 싶습니다.
답변1
실행 구조 awk
는 다음과 같습니다.pattern { action statements }
작업
작업 문은 중괄호 { 및 }로 묶입니다. 작업 문은 대부분의 언어에서 일반적으로 사용되는 할당문, 조건문 및 루프 문으로 구성됩니다. 사용 가능한 연산자, 제어문, 입/출력문은 C의 패턴에 따라 설계되었습니다.
print
I/O 문입니다awk
.맨페이지에서:
print Print the current record. The output record is terminated with the value of ORS.
입장매뉴얼>인쇄 명세서:
명세서 인쇄
간단하고 표준화된 형식으로 출력을 생성하려면 print 문을 사용하세요. 인쇄할 문자열이나 숫자만 쉼표로 구분된 목록으로 지정합니다. 이는 단일 공백으로 구분되고 그 뒤에 개행 문자가 오는 출력입니다. 진술은 다음과 같습니다.
print item1, item2, …
자세한 내용을 보려면 방문하세요 man awk
.
또한 참고하십시오:
PATTERNS AND ACTIONS
AWK is a line-oriented language. The pattern comes first, and then the action. Action statements are
enclosed in { and }. Either the pattern may be missing, or the action may be missing, but, of course, not
both. If the pattern is missing, the action is executed for every single record of input. A missing action
is equivalent to
{ print }
which prints the entire record.
awk
echo
키워드/문장이 없습니다 .
$ man awk | grep echo | wc -l
0