Shell-awk
7945 단어 Shell
1. 기초 지식
$var
참조 변 수 를 사용 합 니 다.직접 사용 var
하면 값 을 얻 을 수 있 습 니 다.변량
묘사 하 다.
FILENAME
현재 입력 한 파일 의 이름
FNR
현재 입력 파일 의 기록 수
FS
파일 구분자 (기본 값 은 빈 칸, 정규 표현 식 지원)
NF
현재 기 록 된 필드 수
NR
작업 중 기록 수
OFS
출력 필드 분할 문자
ORS
출력 기록 분할 문자 (기본 값 은 ")
RS
입력 레코드 분할 문자
ARGC
들 어 오 는 매개 변수 개수 eg:
awk 'BEGIN{print "Args=", ARGC}' 1 2 343 4
ARGV 들 어 오 는 인자 eg:
awk 'BEGIN{print "Argv1=", ARGV[1]}' 1 2 343 4
;ARGV [0] 는 awk 입 니 다.ARGV [1] 부터 시작 하 는 것 이 매개 변수 다.3. awk 표준 옵션
옵션
묘사 하 다.
예시
-v
이 옵션 은 프로그램 이 시작 되 기 전에 값 을 부여 합 니 다.
awk -v name1=alex 'BEGIN{printf "name=%s
", name1}'
4. awk 조건 판단 (& |!)
if (condition1 && condition2) {
statement...
} else if (condition1 || condition2) {
statement...
} else {
statement...
}
5. awk 순환
BEGIN {
print "while is begin...."
}
{
item=1
while( item < 10 ) {
item+=item
}
}
END {
print "while is end, item : " item
}
{
count=1
do {
print "count: " count++
} while(count != 10)
}
BEGIN{
print "This is begin..."
}
{
for(i=1; i<=10; i++) {
print "item: " i
}
}
END {
print "This is end..."
}
6. awk 실행 절차
Created with Rapha ë l 2.2.0 awk - BEGIN 코드 블록 읽 기 파일 한 줄 데이터 실행 awk 코드 블록 읽 기 파일 에 남 은 줄 이 있 습 니까?awk - END 코드 블록 yes no
7. 소 안 열
awk –F ":" '{print "USER: "$1 "\t SHELL: "$7}' /tmp/passwd.piece
awk -F "[\t ]+" '{print "DEVICE: "$1 "\t FSTYPE: "$3}' /etc/fstab
awk '/nologin/ {++adder}' num1.txt
awk '{if ($1>100){count++; print $1} \
else{count--;print $2}}' num2.txt
num1.awk
BEGIN{
FS=":"
print "This is begin!"
}
{
if($1>100 && $1<200) {
print $1 " is more than 100"
} else if($1>200) {
print $1" is more than 200"
} else {
less_than_100++
print $1 " is less than 100"
}
}
END{
print "Less than 100, count: " less_than_100
}
awk -f num1.awk num1.txt
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Shell alias 명령에 별칭을 설정하는 방법명령에 별명을 설정하면 명령의'작은 이름'으로 삼을 수 있지만, 이렇게 하는 것이 무슨 의미가 있습니까? 이때 별명이 작용할 수 있다.vim 명령의 별명을vi라고 정의하면 이후에 실행된vi 명령은 실제로vim 명령을...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.