[Linux] awk의 사용 방법(비고)
개시하다
텍스트 파일을 가공할 때 자주 사용하는awk 명령에 대해 알고 있는 범위 내에서 글을 쓰고 싶습니다.
아무튼 유튜브에서도 소개하고 싶어요.
무엇
프로그래밍 언어의 하나가 되다.
왼쪽
텍스트 파일의 가공, 추출 등을 잘 처리하는 언어입니다.
awk 사용 예
ls-L 결과에서 소유자/그룹 이름/파일 이름을 추출합니다.
일반 명령 실행 결과 (ls-L)
[cloudadmin@testlinux01 test]$ ls -l
合計 0
-rw-rw-r--. 1 cloudadmin cloudadmin 0 12月 4 13:34 hello.awk
-rw-rw-r--. 1 cloudadmin cloudadmin 0 12月 4 13:34 sample.awk
[cloudadmin@testlinux01 test]$
awk 실행 결과 사용하기[cloudadmin@testlinux01 test]$ ls -l | awk '{print $3,$4,$9}'
cloudadmin cloudadmin hello.awk
cloudadmin cloudadmin sample.awk
[cloudadmin@testlinux01 test]$
"$3" 및 "$0" 정보
필드.
{ print $0 } # レコード全体を表示
{ print $1, $2, $3 } # 第1、第2、第3フィールドを表示
다음 명령의 실행 결과는 필드로 표시됩니다.명령 실행 예
[cloudadmin@testlinux01 test]$ ls -l
合計 4
-rw-rw-r--. 1 cloudadmin cloudadmin 0 12月 4 13:34 hello.awk
-rw-rw-r--. 1 cloudadmin cloudadmin 0 12月 4 13:34 sample.awk
-rw-rw-r--. 1 cloudadmin cloudadmin 33 12月 4 13:58 test.txt
[cloudadmin@testlinux01 test]$
필드/레코드$1
$2
$3
$4
$5
$6
$7
$8
$9
1
-rw-rw-r--.
1
cloudadmin
cloudadmin
0
12월
4
13:34
hello.awk
2
-rw-rw-r--.
1
cloudadmin
cloudadmin
0
12월
4
13:34
sample.awk
3
-rw-rw-r--.
1
cloudadmin
cloudadmin
33
12월
4
13:58
test.txt
[cloudadmin@testlinux01 test]$ ls -l | awk '{print $0}'
合計 4
-rw-rw-r--. 1 cloudadmin cloudadmin 0 12月 4 13:34 hello.awk
-rw-rw-r--. 1 cloudadmin cloudadmin 0 12月 4 13:34 sample.awk
-rw-rw-r--. 1 cloudadmin cloudadmin 33 12月 4 13:58 test.txt
[cloudadmin@testlinux01 test]$
[cloudadmin@testlinux01 test]$ ls -l | awk '{print $4}'
cloudadmin
cloudadmin
cloudadmin
[cloudadmin@testlinux01 test]$
[cloudadmin@testlinux01 test]$ ls -l | grep hello.awk | awk '{print $1,$3,$4,$9}'
-rw-rw-r--. cloudadmin cloudadmin hello.awk
[cloudadmin@testlinux01 test]$
특정 파일 이름을 추출합니다.
/etc/passwd
에서 추출cloudadmin
한 줄.grep
와 같은 사용 방법.grep에서 추출
[cloudadmin@testlinux01 ~]$ cat /etc/passwd | grep cloudadmin
cloudadmin:x:1000:1000:cloudadmin:/home/cloudadmin:/bin/bash
[cloudadmin@testlinux01 ~]$
awk '/文字列/' ファイル名
[cloudadmin@testlinux01 ~]$ awk '/cloudadmin/' /etc/passwd
cloudadmin:x:1000:1000:cloudadmin:/home/cloudadmin:/bin/bash
[cloudadmin@testlinux01 ~]$
텍스트 파일에서 일치하는 문자열 추출
텍스트 파일에 일치하는 문자열이 있으면 추출됩니다.
awk '$0 == "文字列" { print $0}' ファイル名
[cloudadmin@testlinux01 test]$ awk '$0 == "foo" { print $0}' test.txt
foo
[cloudadmin@testlinux01 test]$
지정된 행 추출하기
다음 파일에서 두 번째 줄을 추출합니다.
test.txt
foo
82niupfa
fajaf
test
testtest
awk ' NR == 行数 { print $0 }' ファイル名
[cloudadmin@testlinux01 test]$ awk ' NR == 2 { print $0 }' test.txt
82niupfa
[cloudadmin@testlinux01 test]$
최후
이번에는 awk의 사용 방법에 대해 총결하였다.
유튜브 소재이기도 해서 언젠가는 애니메이션을 만들지 않을까 생각한다.
참고 자료
awk가 뭐예요?당신은 무엇을 할 수 있습니까?되도록 간단명료하게 전달하다
[초보자용] Awk 사용법
동틀 무렵 AWK 시작
awk에서grep처럼 줄 추출하기
Reference
이 문제에 관하여([Linux] awk의 사용 방법(비고)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/supersatton/articles/df5503ea377a02텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)