Bash의 텍스트 파일에서 특정 단어와 값을 추출하는 방법

Bash의 텍스트 파일에서 특정 단어와 값을 추출하는 방법

Bash 초보자는 몇 가지 간단한 작업을 수행하여 무언가를 마스터하려고 합니다. 다음 텍스트가 포함된 텍스트 파일이 있다고 가정해 보겠습니다.

ExperimentOne results = .5 participants: 80
ExperimentTwo results = .4 participants: 75, 4 unclear reports

ExperimentOne 및 ExperimentTwo 결과 데이터 또는 행에 결과라는 단어가 포함된 모든 데이터를 추출하여 출력을 간단하게 만들고 싶습니다.

ExperimentOne .5
ExperimentTwo .4

어떻게 해야 하나요?

답변1

다음을 사용해 보세요 awk:

awk '/results/ {print $1,$4}'

또는

awk '$2=="results"{print $1,$4}'

답변2

사용하려면 cut다음 옵션을 사용하여 구분 기호를 설정해야 합니다 -d.

$ cut -d' ' -f1,4 file
ExperimentOne .5
ExperimentTwo .4

답변3

또 다른 해결책 sed:

sed -En 's/results *= *([^ ]+).*$/\1/p' filename.txt

grep+ 파이프를 사용하려는 경우 cut이를 지정하지 않으면 cut필드 구분 기호가 가정된다는 점을 기억해야 합니다. TAB그래서, 사용

grep "results" filename.txt | cut -d' ' -f1,4

관련 정보