특정 문자 뒤에만 파일에서 새 파일로 값 복사

특정 문자 뒤에만 파일에서 새 파일로 값 복사

다음 형식의 파일이 있습니다.

Reading frame    3000 time 30000.000   ^MReading frame    3000 time 30000.000   mu  8.788e+00 <mu>  2.945e-03

mu 다음의 값만 다음과 같은 원하는 출력을 갖는 새 파일에 붙여넣고 싶습니다.

8.788e+00

나는 성공하지 않고 다음 명령을 시도했습니다

grep "mu" filename1 | sed 's/^.* //' > filename2

답변1

사용 sed:

sed -n -E 's/.*mu +([0-9.e+-]+) .*/\1/p' file

정규식에서는 문자열 mu과 숫자가 함께 필요합니다.

답변2

awk '{for(i=1;i<=NF;i++)if($i == "mu")print $(i+1)}' file

관련 정보