파일 형식을 알고 있으면 파일에서 텍스트를 추출합니다.

파일 형식을 알고 있으면 파일에서 텍스트를 추출합니다.

다음과 같은 scServer.scs라는 파일을 출력하는 스크립트를 실행 중입니다.

[이메일 보호됨]

2

솔루션 1

유체 흐름(부드러움)

해결책

일시적인 구조

7443_bber0501u29b.bb2.cluster

[이메일 보호됨]

나중에 스크립트에서 "49138" 및 "bber0501u29b.bb2.cluster"를 참조해야 하지만 스크립트를 실행할 때마다 달라집니다. 그러면 스크립트가 scServer.scs를 생성한 후 이러한 텍스트를 추출하여 변수에 써야 합니까?

답변1

데이터가 항상 첫 번째 행에 있고 user@domain 형식인 경우 다음을 수행할 수 있습니다.

첫 번째 행을 추출하여 사용쉘 매개변수 확장:

firstline=$(head -n1 file)
user=${firstline%@*}
domain=${firstline##*@}

답변2

읽기 및 awk를 사용하십시오.

read -r user domain < <(awk -F\@ 'NR==1{print $1,$2}' scServer.scs)

첫 번째 행을 추출 scServer.scs하고 필드 구분 기호를 사용하여 두 필드를 분리하고 @첫 번째 필드를 변수에 할당 user하고 두 번째 필드를 domain변수 에 할당합니다.

답변3

g=`awk -F "@" 'NR==1{print $1}' filename `
y=`awk -F "@" 'NR==1{print $NF}' filename `


praveen@praveen:/tmp$ echo $g
49138
praveen@praveen:/tmp$ echo $y
bber0501u29b.bb2.cluster

관련 정보