명령 출력에서 ​​특정 열 캡처

명령 출력에서 ​​특정 열 캡처

명령을 실행할 때 출력의 처음 5줄을 파일로 리디렉션하는 방법을 알고 있습니다. 출력에서 특정 정보만 리디렉션하는 방법을 알고 싶습니다.

예를 들어, "free -m" 명령을 실행하고 출력의 "used" 열을 텍스트 파일로 리디렉션하고 싶습니다.

전체 출력을 수동으로 편집하지 않고 어떻게 이 작업을 수행할 수 있습니까?

답변1

더 우아한 답변이 있다고 확신하지만 다음과 같이 작동합니다.

free -m | awk '{if (NR == 1) {print $2} else {print $3}}' > file.out

이 명령은 표준 출력을 가져 free -m와서 으로 보냅니다 awk. 첫 번째 행의 경우 두 번째 열(여기서는 관심 있는 열의 헤더)을 인쇄하고, 그렇지 않으면 세 번째 열( free -m다음 행에 대한 추가 열이 있음)을 인쇄합니다.

관련 정보