테스트 환경 : HP-UX 11.31
절대 경로를 포함 한 스크립트를 생성 해보겠습니다.
- 파일이 있는 디렉토리 절대 경로 구하기
$ ls -dl /vol/vg_* # -d 경로 안의 내용을 표시 하지 않고, 그 경로를 보여 줍니다. drwxr-xr-x 2 oracle dba 8192 Oct 9 09:08 /vol/vg_ora1 drwxr-xr-x 2 oracle dba 8192 Oct 9 09:09 /vol/vg_ora10 drwxr-xr-x 2 oracle dba 8192 Oct 9 09:09 /vol/vg_ora11 drwxr-xr-x 2 oracle dba 8192 Oct 9 09:09 /vol/vg_ora12 drwxr-xr-x 2 oracle dba 8192 Oct 9 09:09 /vol/vg_ora13 drwxr-xr-x 2 oracle dba 8192 Oct 9 09:09 /vol/vg_ora14 drwxr-xr-x 2 oracle dba 8192 Oct 9 09:09 /vol/vg_ora15 drwxr-xr-x 2 oracle dba 8192 Oct 9 09:09 /vol/vg_ora16 drwxr-xr-x 2 oracle dba 8192 Oct 9 09:09 /vol/vg_ora17 drwxr-xr-x 2 oracle dba 8192 Oct 9 09:09 /vol/vg_ora18 drwxr-xr-x 2 oracle dba 8192 Oct 9 09:09 /vol/vg_ora19 drwxr-xr-x 2 oracle dba 8192 Oct 9 09:10 /vol/vg_ora2
- 현재 예시에서는 디렉토리만 조회 가 되었는데 만약 파일도 조회가 된다면 걸러낼 필요가 있습니다.
$ ls -ld /db_oracle/* drwxr-xr-x 8 oracle dba 1024 Dec 19 2009 /db_oracle/database -rwxr-xr-x 1 root users 1351928 Oct 9 10:57 /db_oracle/dbv drwxr-xr-x 2 root root 96 Oct 9 08:29 /db_oracle/lost+found drwxr-xr-x 5 oracle dba 65536 Oct 10 15:10 /db_oracle/oracle -rw-r--r-- 1 oracle dba 160930 Oct 10 14:57 /db_oracle/result.txt -rw-r--r-- 1 root sys 962560 Oct 9 11:52 /db_oracle/unzip-6.0-ia64-11.31.depot -rwxrwxrwx 1 cjcable users 110955 Oct 9 12:08 /db_oracle/unzip_hpx32 $ ls -ld /db_oracle/*|grep ^d # grep 으로 d 로 시작 하는 라인만 걸러 냅니다. ^ 는 라인의 시작을 의미 합니다. drwxr-xr-x 8 oracle dba 1024 Dec 19 2009 /db_oracle/database drwxr-xr-x 2 root root 96 Oct 9 08:29 /db_oracle/lost+found drwxr-xr-x 5 oracle dba 65536 Oct 10 15:10 /db_oracle/oracle $
- 해당 경로의 위치만 걸러 냅니다.
$ ls -dl /vol/vg_*|grep ^d|awk '{print $9}' # awk '{print $9}' 는 결과에서 9번째 결과를 출력 합니다. /vol/vg_ora1 /vol/vg_ora10 /vol/vg_ora11 /vol/vg_ora12 /vol/vg_ora13 /vol/vg_ora14 /vol/vg_ora15 /vol/vg_ora16 /vol/vg_ora17 /vol/vg_ora18 /vol/vg_ora19 /vol/vg_ora2
- 이렇게 가져온 리스트로 shell 을 만들겠습니다.
ls -dl /vol/vg_*|grep ^d|awk '{print $9}'|while read line # while 을 이용 앞의 ls 에서 가져온 데이터를 한라인씩 읽음 do ls -l $line|grep ^c|awk '{print $10}'|while read result # $line 에서 디렉토리 정보를 이용 하위 파일을 조회 do echo "dbv file=$line/$result log=/db_oracle/oracle/$result.log" # $line 의 절대경로 , $result 파일 이용 명령어 출력 done done > result.txt # 출력 결과를 파일에 담는다. # result.txt 파일 안의 내용 dbv file=/vol/vg_ora9/rdbf_ora9_5_012 log=/db_oracle/oracle/rdbf_ora9_5_012.log dbv file=/vol/vg_ora9/rdbf_ora9_5_013 log=/db_oracle/oracle/rdbf_ora9_5_013.log dbv file=/vol/vg_ora9/rdbf_ora9_5_014 log=/db_oracle/oracle/rdbf_ora9_5_014.log dbv file=/vol/vg_ora9/rdbf_ora9_5_015 log=/db_oracle/oracle/rdbf_ora9_5_015.log dbv file=/vol/vg_ora9/rdbf_ora9_5_016 log=/db_oracle/oracle/rdbf_ora9_5_016.log dbv file=/vol/vg_ora9/rdbf_ora9_5_017 log=/db_oracle/oracle/rdbf_ora9_5_017.log dbv file=/vol/vg_ora9/rdbf_ora9_5_018 log=/db_oracle/oracle/rdbf_ora9_5_018.log dbv file=/vol/vg_ora9/rdbf_ora9_5_019 log=/db_oracle/oracle/rdbf_ora9_5_019.log
유닉스에 스크립트 작성 응용에 도움이 되었으면 하는 마음에 작성을 했습니다.
감사합니다.
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
26 | read 명령어 사용법 | 명품관 | 2024.01.22 | 53 |
25 | df 명령어 대신 사용할 수 있는 python용 pydf | 명품관 | 2023.03.14 | 181 |
24 | Step by Step Installing CentOS Linux 8 with Screenshots | 명품관 | 2019.09.26 | 308 |
23 | 세마포어(semaphore) | 명품관 | 2021.12.21 | 486 |
22 | "리눅스에 대한 마이크로소프트의 사랑", WSL 2의 이해와 시작하기 | 명품관 | 2019.09.23 | 540 |
» | 절대 경로가 포함된 스크립트 생성 하기 [1] | Talros | 2016.10.10 | 541 |
20 | Installing RedHat Enterprise Linux 8.0 with screenshots | 명품관 | 2019.09.26 | 543 |
19 | bpytop 모니터링 툴 | 명품관 | 2021.01.18 | 627 |
18 | vi 에디터 환경 설정 | 명품관 | 2016.02.02 | 643 |
17 | Swap File 생성하기 | 명품관 | 2019.04.15 | 661 |
16 | Alias 사용 | 명품관 | 2021.03.03 | 670 |
15 | find 사용하기 | 명품관 | 2016.03.04 | 738 |
14 | top logging script | Talros | 2020.01.17 | 827 |
13 | Linux에서 LVM 사용 | 명품관 | 2020.11.10 | 848 |
12 | 리눅스 Free 메모리의 이해 | 명품관 | 2018.08.08 | 987 |
11 | [7.x] hostname 변경하는 hostnamectl 사용법 [1] | 우뽕 | 2020.02.05 | 996 |
10 | Memory Usage 확인용 스크립트 [2] | 명품관 | 2019.04.15 | 1418 |
9 | 59 Linux Networking commands and scripts | 명품관 | 2019.11.18 | 1590 |
8 | 실시간으로 TCP와 UDP 포트를 감시하는 방법 | 명품관 | 2020.02.05 | 2212 |
7 | iscsi 서버/클라이언트 설정하기(with targetcli) | 명품관 | 2020.11.14 | 2229 |