사소한 질문을하고 있지만 올바른 방법을 찾을 수없는 경우 일 수 있습니다.두 결과를 비교하고 존재하는 경우 누락 된 부분을 인쇄하십시오.
여러 서버에서 ssh'ing하고 예상되는 nfs 마운트를/etc/fstab에서/proc/mounts의 기존 마운트와 비교합니다.
/data1
/data2
/data3
그리고 /proc/mounts
에서 : 예를 들어
VAR1=$(awk '!/^#/ && $3 == "nfs" {print $2}' /etc/fstab)
VAR2=$(awk '!/^#/ && $3 ~ /nfs[34]/ && $1 !~ /gfs/ {print $2}' /proc/mounts)
,
/etc/fstab
에서
/data1
/data2
모든 마운트가 존재하고 내가 모두 확인하고, 경우 일부 빠진 것을 인쇄가 장착 된 경우 그들을 밖으로 인쇄하고 다시 설치하십시오. 중첩 루프와
awk 'FNR==NR {a[$1]; next} $1 in a' file1 file2 (but not works with $VAR1/$VAR2).
도 성공하지 않았다 :
내가 함께 비교를 위해 일했습니다.미리 감사드립니다.
원본 파일 ('/ etc/fstab' 및'/ proc/mounts')에 awk 패턴을 사용하여 누락 된 마운트 포인트 목록을 얻으십시오. 아마도 첫 번째 루프에서 그 배열에'$ 3 '을 사용하고 싶을 것이다. –
@Etan 죄송합니다, 더 자세히 설명해 주시겠습니까 – user1607856
당신은이 목적을 위해 awk 패턴을 사용하려고했지만 변수에 대해서는 작동하지 않는다고하셨습니다. 사실이긴하지만 파일 이름을 처리하고 파일 이름을 처리하는 두 개의 awk 스크립트를 작성했습니다. awk를 세 번 실행하는 대신 한 번 실행하십시오. 인수로 두 파일을주고 첫 번째 파일에 대해'FNR == NR' 매핑 루프를 수행하고 두 번째 파일에 대한 검사를 수행하고 검사에 실패한 행만 출력하십시오. –